Mais conteúdo relacionado
Semelhante a Jenkins cicdテンプレートazure版の利用方法解説 (20)
Jenkins cicdテンプレートazure版の利用方法解説
- 2. 自己紹介
• クリエーションライン株式会社
クラウドインテグレーション事業、データ分析サービス事業、MSP事業、トレーニングコース提
供(Chef、Dockerなど)。
• 李 昌桓 (LEE CHANGHWAN)、データエンジニアリングチームのシニアアーキテクト。
データベースが大好きなサーバサイド のエンジニア。AWS、Azure、RDB、DWH、
Hadoop、Spark、MongoDB、GraphDB(Neo4j)、Jenkinsなど、
インフラからビックデータ処理までマルチスキルエンジニアとして活動している。
• 著書
Amazon Cloudテクニカルガイド(インプレス、2010)
Amazon Elastic MapReduceテクニカルガイド(インプレス、2012)
Cypherクエリー言語の事例で学ぶグラフデータベースNeo4j(インプレスR&D、2015)
グラフ型データベース入門(共著:リックテレコム、2016)
RDB技術者のためのNoSQLガイド(共著:秀和システム、2016)
1
- 9. • 実行結果を#slackに通知する準備をする。
• Your SLACKから通知用の「YOUR CHANNEL」作成
• https://your-account.com/appsを開く
• 検索ボックスで「jenkins ci」を検索し、クリック
• 「Add configuration」をクリック
• Post to channelで「YOUR CHANNEL」検索
• Add jenkins CI Integrationクリック
• [Customize Name]を入力/[Token]をメモ帳に控える/Save Settingクリック
5.SlackのCHANNEL作成
8
- 10. CentOS7.0にJenkinsをインストールする
http://qiita.com/inakadegaebal/items/b526ffbdbe7ff2b443f1
yum install java-1.8.0-openjdk
yum install git -y
yum install ansible -y
yum install unzip -y
yum install -y gcc libffi-devel python-devel openssl-devel httpd
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins -y
cat<<EOF>/etc/httpd/conf.d/jenkins.conf
ProxyPass /jenkins ajp://localhost:8080/jenkins nocanon
ProxyPassReverse /jenkins ajp://localhost:8080/jenkins
ProxyRequests Off
AllowEncodedSlashes On
<Proxy "ajp://localhost:8080/jenkins">
Order deny,allow
Allow from all
</Proxy>
EOF
service jenkins restart
chkconfig jenkins on
systemctl resart httpd
systemctl enable httpd
mkdir /var/lib/jenkins/.ssh
chown jenkins. /var/lib/jenkins/.ssh
chmod 700 /var/lib/jenkins/.ssh
chown jenkins. /var/lib/jenkins/.ssh/clee-jenkins-build.pem
chmod 600 /var/lib/jenkins/.ssh/clee-jenkins-build.pem
6.Jenkinsインストール&初期環境設定
6-1.install on CentOS7
9
- 11. apt-get install -y apache2 openjdk-8-jdk
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add -
echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
apt-get update -y
apt-get install -y jenkins
echo JENKINS_ARGS="$JENKINS_ARGS --prefix=$PREFIX" >> /etc/default/jenkins
service jenkins restart
cat << EOF > /etc/apache2/mods-enabled/jenkins.conf
ProxyPass /jenkins http://localhost:8080/jenkins
ProxyPassReverse /jenkins http://localhost:8080/jenkins
ProxyRequests Off
AllowEncodedSlashes NoDecode
<Proxy http://localhost:8080/jenkins>
Order deny,allow
Allow from all
</Proxy>
EOF
a2enmod proxy
a2enmod proxy_http
service apache2 restart
mkdir /var/lib/jenkins/.ssh
chown jenkins. /var/lib/jenkins/.ssh
chmod 700 /var/lib/jenkins/.ssh
chown jenkins. /var/lib/jenkins/.ssh/clee-jenkins-build.pem
chmod 600 /var/lib/jenkins/.ssh/clee-jenkins-build.pem
6-2.install on ubuntu16.04
10
- 13. • Azure Account取得
• テナントID控える
サブスクリプション情報から控える
AZURE_TENANT=aa12daff-xxxx-xxxx-xxxx-1aa12abcdefc12
• 認証情報取得
Master Accountからアプリケーション登録し、キー生成して控える
AZURE_CLIENT_ID=1a2ab123-xxxx-xxxx-xxxx-1a1234ab12ab
AZURE_SECRET=XXXX+5vIF4XXXXXXXXXXgtLKcSAx1dRXXXXXXkPC
サブスクリプションに登録要
• Azure環境を作成する
リソースグループ
ストレージ
ネットワーク(VENT/SUBNET)
セキュリティグループ(SUBNETと関連付け)
7.Azure Account&初期環境
12
- 15. • 新規ジョブ作成→ジョブ名入力(Enter an item name) →OK
• 一般設定
14
同時実行しない
ジョブ名。Jenkinsの内部では、ここで設定した
名称でソースコードのディレクトリ管理を行って
いるのジョブ名は、タイプによって階層化して
表現したほが良い
- 21. クリエーションライン株式会社 20
ジョブ実行
Gitリレポジトリをダウンロード
Jenkinsfile実行
├─jenkins
│ └─ packer-build
│ └─Jenkinsfile
│ └─run.sh
└─packer
├─ansible
│ └─roles
│ ├─base
│ │ ├─files
│ │ └─tasks
│ │ └─main.yaml
│ └─gdb
│ ├─files
│ └─tasks
│ └─base.yaml
├─scripts
└─serverspec
│ ├─spec
│ │ ├─base
│ │ └─gdb
│ └─yaml
└─clee-gdb.json
└─variables.json
#slackに終了メッセージを送る
複雑に見えるがすべてJenkinsfile
(Groovy)にすべて収束されるシンプルな
構造。
Shellスクリプトを埋め込んだりするが、基
本的にDSL言語であるからある種の雛形
を理解れば、お手の物。