目次

概要

EC2インスタンス上にJenkinsをインストールして、API Gateway & Lambda をテスト/デプロイする環境を構築する。

IAMロールの作成

マネジメントコンソール からCodeCommit にアクセスする為のEC2用のロールを作成する。

TODO: アタッチするポリシーを書く

IAMユーザの作成

マネジメントコンソール から デプロイ等に使用するIAMユーザを作成する。

TODO: アタッチするポリシーを書く

CodeCommitリポジトリの作成

マネジメントコンソール からリポジトリを作成しておく。

EC2インスタンスの作成

マネジメントコンソール からJenkinsをインストールするEC2インスタンスを作成する。
※セキュリティグループでポート 8080 を許可しておく事。
※先程作成しておいたIAMロールを設定しておく事。

EC2インスタンスの設定

EC2インスタンスに接続して以下の作業を行う。

ec2-user用の aws-cli の設定

確認用に ec2-user 用に aws-cli の設定をしておく。
ここでは、作成しておいたIAMユーザの AWS Access Key ID、AWS Secret Access Key、リージョン等を設定する。

aws configure
AWS Access Key ID [None]: XXXXXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: XXXXX.......XXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]:

ec2-user 用の git の設定

確認用に ec2-user 用に git クライアントの設定を行っておく。
認証にはIAMを使用する為、以下の通り設定する。

git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.useHttpPath true
git config --global user.name "ユーザ名"
git config --global user.email "メールアドレス"

CodeCommit へのアクセス確認

先ほど作成した CodeCommit リポジトリにIAMでアクセスできるか確認する。

git clone https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/Xxxxxxx

※Jenkins からのアクセスは jenkinsユーザでのアクセスになる為、別途設定が必要。(後述)

Jenkinsのインストール

起動したEC2インスタンスで以下の作業を行う。
※参考: https://d1.awsstatic.com/Projects/P5505030/aws-project_Jenkins-build-server.pdf

JDK8 のインストール

sudo yum install -y java-1.8.0-openjdk-devel

使用するJavaバージョンの切替

sudo alternatives --config java

2 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2

バージョンが切り替わったか確認

java -version
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)

Gitのインストール

sudo yum install git -y

Jenkinsのインストール

sudo yum update -y
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
sudo yum install jenkins -y

Jenkins ユーザ用の git 設定

jenkins からCodeCommit にアクセスする際に IAMロールでアクセスするように設定する。
jenkins ユーザのホームディレクトリは /var/lib/jenkins になっているので、その配下に .gitconfig を以下の通り作成する。

sudo touch /var/lib/jenkins/.gitconfig
sudo chmod 664 /var/lib/jenkins/.gitconfig
sudo chown jenkins:jenkins /var/lib/jenkins/.gitconfig
sudo vim /var/lib/jenkins/.gitconfig

[user]
        name = ユーザ名
        email = メールアドレス
[credential]
        helper = !aws codecommit credential-helper $@
        useHttpPath = true

Jenkinsユーザ用の aws-cliの設定

作成しておいたIAMユーザの AWS Access Key ID、AWS Secret Access Key、リージョン等を設定する。

sudo -u jenkins aws configure
AWS Access Key ID [None]: XXXXXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: XXXXX.......XXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]:

Jenkinsのサービス開始

sudo service jenkins start

Jenkinsインストール用の管理者パスワードを確認

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

デプロイする処理の作成

準備

git チェックアウト

mkdir ~/workspace
git clone https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/SampleRepo    # 作成しておいたCodeCommitリポジトリのURL
cd SampleRepo
git checkout develop

処理の作成

index.py

TODO

template.yml

TODO

build.sh

TODO

git リポジトリにプッシュ

git commit & push

git add .
git commit -m 'first commit'
git push

masterにマージ

git checkout master
git merge develop
git push

Jenkinsの設定

Jenkinsにログイン

http://ec2-XX-XXX-XX-XX.ap-northeast-1.compute.amazonaws.com:8080 にアクセスし、Administrator password に、先程確認した管理者パスワードを入力する
※ [Install suggested plugins] で適当なプラグインをインストールしておく。

ジョブの作成

TODO:

XXXXXXXXXX

TODO:

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS