このステップでは、Jekinsで新しいタスクを作成し、タスクのパラメータを設定して、slave podをビルドする方法についてご説明します。
説明
JenkinsのバージョンによってUIの使い方に違いがあります。ビジネスニーズに応じて選択できます。
タスクの作成
1. Jenkinsコンソールにログインし、タスクの新規作成または新しいタスクの作成をクリックします。
2. タスクの新規作成ページで、タスクの基本情報を設定します。
タスク名を入力:ご自身で定義します。ここでは例として、testとします。
タイプ:フリースタイルのソフトウェアプロジェクトのビルドを選択します。
3. OKをクリックすると、タスクパラメータ設定画面に進みます。
4. タスクパラメータ設定ページで、基本情報を設定します。
説明:タスクに関する情報を定義して入力します。ここでは例として、「slave pod test」とします。
ビルドプロセスのパラメータ化:この項目にチェックを入れ、パラメータの追加 > Git Parameterを選択します。
タスクパラメータの設定
1. 開いた「Git Parameter」パネルで、以下のパラメータを順番に設定します。下図に示すとおりです。
主要パラメータの情報は次のとおりです。その他のオプションはデフォルトを維持してください。
Name:mbranchを入力します。このパラメータは、取得したブランチのマッチングのために使用されます。
Parameter Type:Branch or Tagを選択します。
2. パラメータの追加 > Extended Choice Parameterを選択し、開いた「Extended Choice Parameter」パネルで以下のパラメータを設定します。下図に示すとおりです。
主要パラメータの情報は次のとおりです。その他のオプションはデフォルトを維持してください。 Name:nameを入力します。このパラメータは、イメージを取得するために使用します。
Basic Parameter Types:この項目を選択します。
Parameter Type:Check Boxesを選択します。
Value:この項目を選択してカスタムイメージを入力します。この値は変数nameに渡されます。ここでは例として、nginx,phpとします。
3. パラメータの追加 > Extended Choice Parameterを選択し、開いた「Extended Choice Parameter」パネルで以下のパラメータを設定します。下図に示すとおりです。
主要パラメータの情報は次のとおりです。その他のオプションはデフォルトを維持してください。 Name:versionを入力します。このパラメータはイメージバージョン変数を取得するために使用します。
Basic Parameter Types:この項目を選択します。
Parameter Type:Text Boxを選択すると、テキスト形式でイメージ値を取得し、変数versionに渡します。
4. プロジェクトの実行ノードを制限するにチェックを入れ、タグ式にslave podテンプレートの設定ステップで設定済みのPodタグjnlp-agentを入力します。下図に示すとおりです。 ソースコード管理の設定
「ソースコード管理」モジュールで、Gitを選択して以下の情報を設定します。
Repositories:
Repository URL:お客様のgitlabアドレスを入力します。例:https://gitlab.com/user-name/demo.git。
Branches to build:
ブランチの指定(空の場合はany):ブランチを動的に取得するために使用する、$mbranchを入力します。この値は、Git Parameterパラメータで定義されたmbranch値に対応します。
Shellパッケージスクリプトの設定
1. 「作成」モジュールで、作成ステップの追加 > shellの実行を選択します。
2. 以下のスクリプトをコピーして、「コマンド」入力ボックスに貼り付け、保存をクリックします。
注意
スクリプト内のgitlabアドレス、TKEイメージアドレス、イメージウェアハウスのユーザーとパスワードなどの情報は例として使用しているものですので、必要に応じて変更してください。
ソースコードDocker buildをベースとするパッケージの作成場所を確保してください。作業ディレクトリ/home/Jenkins/agentが「コンテナリスト」のContainer Template作業ディレクトリと同じである必要があります。 echo " gitlabアドレスは、https://gitlab.com/[user]/[project-name]].git"です
echo "選択したブランチ(イメージ)は"$mbranch、"設定したブランチ(イメージ)のバージョンは"$versionです
echo " TKEイメージアドレス:hkccr.ccs.tencentyun.com/[namespace]/[ImageName]"
echo "1.TKEイメージウェアハウスにログイン"
docker login --username=[username] -p [password] hkccr.ccs.tencentyun.com
echo "2.ソース コードDocker buildベースのパッケージビルド:"
cd /home/Jenkins/agent/workspace/[project-name] && docker build -t $name:$version .
echo "3.DockerイメージをTKEリポジトリにアップロード"
docker tag $name:$version hkccr.ccs.tencentyun.com/[namespace]/[ImageName]:$name-$version
docker push hkccr.ccs.tencentyun.com/[namespace]/[ImageName]:$name-$version
このスクリプトは、以下の機能を提供します
選択したブランチ、イメージ名およびイメージバージョンを取得します。
コードとのマージ後にビルドしたdockerイメージをTKEイメージウェアハウスにプッシュします。
次の操作
この時点でslave podのビルドは成功しています。ビルドテストに移動してイメージをプッシュし、操作を検証してください。