docker-composeでjenkinsに入門

スポンサーリンク

はじめに

jenkinsをdockerで動かして勉強します。やったことのまとめです。

masterだけでslaveはなし。slaveはパス。

追記:このdockerhub、使わないほうがいいかも。8ヶ月も更新止まっててjenkinsのversionが2.60.3と大変古いものになっていてpluginもまともに入らないorz

参考サイト

jenkinsのdokcerhub

初期設定はこちらがわかりやすい

ディレクトリ構成とファイル

ディレクトリ構成

~/jenkins/配下にdocker-compose.yamlとworkディレクトリを作っています。

docker-compose.yaml

volumesでworkディレクトリをjenkins dockerコンテナ内の/workに紐づけてあげる。

用意するのはとりあえずこれだけ。手順の中で追加するものが少しあります。

sh動かしてみる

まずは適当なshを実行させることを目指します。

jenkinsの初期設定

起動させます。

docker-compose up -d

起動したらアクセスします。アクセスはhttp://XXX:8080。テスト用なのでhttpとか気にしない。

/var/jenkins_home/secrets/initialAdminPasswordにあるpasswordを求められますが、

work=/var/jenkins_homeになっているので

cat work/secrets/initialAdminPasswordでパスワードを確認して貼り付け。


Customize JenkinsではInstall suggested pluginsを選択。後でどうにでもなるので前に進みます。


なんか色々失敗してるけどRetryの隣のContinueを選んで先に進みます。


Create First Admin User画面ではユーザを作るんでしょうけど下の方にあるCotinue as adminを選んでスキップ。(良くない。良い子はちゃんとユーザ作りましょうw)

スキップするとuser/passがadmin/さっき張ったwork/secrets/initialAdminPasswordのパスになります。

ジョブの作成~ワークスペースの作成

ここまでで無事Jenkinsにログインできます。Jenkinsに歓迎されるはずです。

とりあえず何でもいいのでジョブを作ります。


Enter an item nameは何でもいいが今回はtestworkとします。

フリースタイル・プロジェクトのビルドを選択してOK。

次画面の細かい設定は全部無視して保存。あとで修正できるので。


プロジェクト出来たらビルド実行。workspaceが作成されます。

shの追加~ビルドの実行

コンソールに戻って~/jenkins/work/workspace/testwork作成されていることを確認します。

先ほど作ったworkspace/testworkに移動します。

cd ~/jenkins/work/workspace/testwork

テスト用にhello.shを作ります。

~/jenkins/work/jobs/testwork/hello.sh

先ほど作成したプロジェクト testworkまで移動し、ワークスペースをクリックします。ここに先程作ったhello.shがあるはずです。

確認できたら設定をクリック。さっき入力を飛ばした画面になるのでビルドにあるビルド手順の追加→シェルの実行と進みシェルスクリプト箇所にbash hello.shと入力して保存します。

ビルド実行をクリック。ビルド#2が出来るのでそれをクリックします。コンソール出力を確認すると

ということでHello World!と表示されます。やったぜ。

goを動かしてみる

shではなくgolangでもビルドできるか試してみます。

とりあえずdokcer落として以下を~/jenkins/work/workspace/testwork/に作成します。

~/jenkins/work/workspace/testwork/hello.go

さきほどと同じようにdockerを起動します。

docker-compose up -d

testworkのワークスペースまで進みhello.goがあることを確認します。

先ほどと同じようにビルドしようとしてもgo: not foundと言われているのでプラグインを追加します。

Jenkins→Jenkinsの管理→プラグインの管理に進み、利用可能のタブを選んでフィルターにgolangと入力します。

出てきたgoをチェックして再起動せずにインストールを選択。

インストールが成功したら

Jenkins→Jenkinsの管理→Global Tool Configurationを選択。


Goの追加をクリックして名前を入力。ここでは適当にgo 1.12.1としてます。そのままSaveして抜けます。

再度testworkに戻って設定をクリック。

ビルド環境のSet up Go programming language toolsをクリック。

先ほど名前を付けたものがGo versionにあるので選択します。

最後に保存してビルド実行!

1回目は時間がかかるので●が点滅している間に#番号→コンソール出力で様子を見に行きます。少し待つとうまくいく。はず。

ちゃんとHello World! from golangと出力されています。

ちなみに設定のシェルスクリプトを
go build hello.go
./hello

としてgoのbuildも出来ちゃいます。

最後に

jenkins、食わず嫌いをしていたんですが、使ってみるとシンプルかも。

関連コンテンツ



シェアする

  • このエントリーをはてなブックマークに追加

フォローする