お世話になっております。
現在、運用しているWEBサービスのリリースから極力人の手を無くしたい為、Jenkinsを用いたリリース自動化を計画しています。
色々勉強しながらの構築だったのですが、なんとか
GHEからソースをチェックアウト
↓
rsyncにてcloneしたソースをサーバに同期
までは出来るようになりました。
lang
1pipeline { 2 agent any 3 stages() { 4 stage('Checkout') { 5 steps() { 6 git 'ソースレポジトリ' 7 } 8 } 9 stage('sync') { 10 steps() { 11 bat '''\ 12 rsync -avzhC \ 13 --no-perms --no-owner \ 14 --no-group --no-times \ 15 --checksum --delete \ 16 --progress --exclude-from=./sync_ignore \ 17 source/ サーバアドレス:/path/to/deploy/ 18 ''' 19 } 20 } 21 stage('CleanWS') { 22 steps() { 23 cleanWs() 24 } 25 } 26 } 27}
ここで首題の件になるのですが、上記のpipelineだと毎度人の手でビルド実行を行なわないといけない為イマイチ自動化しきれていない状態です。
なので、ソースレポジトリのmasterへのpush(commit?)があった場合にそれをJenkinsにて感知して自動でビルド実行をしたいと考えています。
が、現在のJenkinsサーバが閉じられたネットワーク環境内にある為、GitHubからJEnkinsサーバのビルドURLを叩く事が出来ません。
このような環境で、レポジトリへのpushをトリガーとしたビルド実行は可能なのでしょうか?
ご教示頂ければ幸いです。
あなたの回答
tips
プレビュー