Jenkinsを外部に公開するということはあんまりないと思います。
Jenkinsを単体で動かしてもいいんですけど、Jenkins専用サーバーではなくてHTTPサーバーがすでに動作していてJenkins用に専用ポートを開放できない場合は、ApacheとTomcatで動かしてしまうのが簡単だと思います。
まぁ、単体で動かすのが一番簡単だと思うんですけどね。
以下、設定方法です。
Apache、Tomcatのインストール
お使いのパッケージマネージャで構成管理されてもよいですし、Apacheはソースからインストール、Tomcatはバイナリを落としてきてインストールしてもらっても構いません。
Jenkinsのインストール
Jenkinsは公式サイトからwar形式のファイルをダウンロードします。
ダウンロードしたら、Tomcatのwebappsディレクトリの拡張子が.warのままコピー(移動)します。
Tomcatを起動すれば自動的にWARパッケージが解凍されます。
ApacheとTomcatの設定
ApacheとTomcatの接続は、昔といっても大昔7年前くらいはかなり面倒だったんですけど、Apache2.2系以降は非常に簡単になりました。
※mod_proxyとmod_proxy_ajpが有効になっている必要があります。
実際の連携記載方法ですが、ロケーションを使う方法もありますしmod_rewriteを使うこともできます。
今回は、特に意味はないのですがmod_rewriteを使ってみました。
[text]
RewriteEngine On
RewriteRule ^/jenkins/(.*) ajp://localhost:8009/jenkins/$1 [P,L]
[/text]
この設定を行うことで、/jenkins/以下にアクセスがあった場合Tomcat側でリクエスト処理をしてくれます。
ブラウザで、
http://サーバーのIP/jenkins/
としてアクセスすれば、Jenkinsのページが表示されると思います。
mod_rewriteのお陰で幾度と無く危機を乗り越えられました。さすが黒魔術です。