👨🦳
[Jenkins]Jekinsでgit cloneからgit pushまで実装
Jenkins Jobでgitcloneからpushまで実行する。
本記事で利用した環境
本記事で利用した環境は以下を参照する。
目次: 本記事で利用した環境Jenkinsの設定
Jenkinsの設定を以下に記載する。
- JenkinsユーザのSSH鍵をgithubに登録
Jenkinsmユーザの鍵を生成し、githubに登録する。生成したSSH鍵の公開鍵をgithubに登録する。登録方法は以下記事参照する。su jenkins ssh-keygen -t rsa -b 4096
【入門】Githubにsshで接続する手順・注意点まとめ - Jenkinsユーザが利用するgithubアカウント設定
以下コマンドを実行してgithubアカウントの設定をする。git config --global user.name XXXXXXXXX git config --global user.email XXXX@XXXXXXX
git config
コマンドの詳細は以下を参照する。
[Git]これだけ押さえる!gitconfigの基本
実装
Jenkins Jobのpipelineを以下に記載する。
// jenkins git clone and deploy
pipeline {
agent any
options {
timestamps()
}
parameters {
choice(name: 'BRANCH', choices: ['develop', 'release', 'main'], description: 'ブランチを指定する。')
string(name: 'REPOSITORY', defaultValue: '', description: 'リポジトリを指定する。')
}
stages {
stage('clone ') {
steps {
script {
if(fileExists("./${REPOSITORY}")) {
sh "rm -rf ${REPOSITORY}"
}
}
sh "git clone -b ${BRANCH} --depth 1 git@github.com:XXXXXXXXX/${REPOSITORY}"
}
}
stage('push') {
steps {
sh'''
cd ${REPOSITORY}
echo test >> test.txt
git add .
git commit -m "[jenkins]git push"
git push origin ${BRANCH}
'''
}
}
}
}
Discussion