Member-only story
Jenkinsを使用してDockerイメージをDocker Hubにプッシュする方法(後半)
Jenkinsを使用して、DockerイメージのビルドとDocker Hubへのプッシュを自動化する方法を説明します。長い記事なので、前半と後半の2つに分けて投稿いたします。今回は後半です。
Jenkinsで新しいPipelineジョブを作成する:
JenkinsでPipelineジョブを作成します。このジョブの目的は、Bitbucket のレポに変更がないか監視することです。そして、もし変更がプッシュされたら、Bitbucket リポジトリのソースコードを使って自動的にイメージをビルドし、Docker ハブにプッシュします。
まず、Jenkinsサーバのセキュリティ認証にDocker hubのユーザ名とトークンを追加する必要があります。そこで、Manage Jenkins -> Manage Credentials -> Domains(global) -> Add Credentialsを実行します。
または、以下のURLから認証情報を追加してください。そして、IPアドレスを変更します。
http://ip_address:9999/credentials/store/system/domain/_/newCredentials
credentialsにDocker hubのユーザー名とパスワードにアクセストークンを指定します。また、DescriptionとIDにはdockerhub-cred-rajaを指定しました。IDとDescriptionはお好きなものをお使いください。
次に、New ItemをクリックしてPipelineを選択し、新しいPipelineジョブを作成します。
そして、Pipelineの定義で、BitbucketのURLとその他対応する値を与えます。コマンドを実行するために、自動的にJenkinsfileを探します。bitbucketのクレデンシャルを追加します。なぜかというと、プライベートリポジトリを使用しているからです。