#author("2019-03-14T06:30:13+00:00","","") #mynavi(AWSメモ) #setlinebreak(on); * 目次 [#wef7852b] #contents - 関連 -- [[AWSメモ]] - 参考 -- https://aws.amazon.com/jp/getting-started/projects/setup-jenkins-build-server/ -- https://aws.amazon.com/jp/blogs/devops/integrating-aws-codecommit-with-jenkins/ * 概要 [#w74ec372] #html(<div style="padding-left: 10px;">) EC2インスタンス上にJenkinsをインストールして、API Gateway & Lambda をテスト/デプロイする環境を構築する。 #html(</div>) * CodeCommitリポジトリの作成 [#be04414e] #html(<div style="padding-left: 10px;">) - [[マネジメントコンソール>https://ap-northeast-1.console.aws.amazon.com/codesuite/codecommit/repositories?region=ap-northeast-1]] からリポジトリを作成しておく。 - CodeCommit にアクセスに使用するIAMユーザ または EC2用のIAMロールを作成しておく。 #html(</div>) * IAMユーザの作成 [#dc777e43] #html(<div style="padding-left: 10px;">) [[マネジメントコンソール>https://console.aws.amazon.com/iam/home?region=ap-northeast-1#/users]] から CodeCommit への接続用ユーザを作成しておく。 #html(</div>) * EC2インスタンスの作成 [#p40f0751] #html(<div style="padding-left: 10px;">) [[マネジメントコンソール>https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#Instances:sort=instanceId]] からJenkinsをインストールするEC2インスタンスを作成する。 ※セキュリティグループでポート 8080 を許可しておく事。 ※CodeCommitアクセス用のIAMロールを作成している場合は、ここでロールに設定しておく。 #html(</div>) * EC2インスタンスの設定 [#bbce0ba9] #html(<div style="padding-left: 10px;">) ** aws-cli の設定 [#s769b608] #myterm2(){{ 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]: }} ** SSH鍵の作成 [#se150636] #myterm2(){{ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/ec2-user/.ssh/id_rsa): /home/ec2-user/.ssh/codecommit_rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ec2-user/.ssh/codecommit_rsa. Your public key has been saved in /home/ec2-user/.ssh/codecommit_rsa.pub. . . }} ** SSH鍵の確認とIAMユーザへの設定 [#k24ec9e8] SSH鍵を確認し、上記で作成したIAMユーザの AWS CodeCommit の SSH キーとして登録しておく。 #myterm2(){{ cat ~/.ssh/codecommit_rsa.pub ssh-rsa AAAAB3N....QcMiiO7V ec2-user@ip-XXX-XX-XX-XX }} ** Jenkinsのインストール [#c31e9f98] 起動したEC2インスタンスで以下の作業を行う。 ※参考: https://d1.awsstatic.com/Projects/P5505030/aws-project_Jenkins-build-server.pdf ** JDK8 のインストール [#f664e401] #myterm2(){{ sudo yum install -y java-1.8.0-openjdk-devel }} ** 使用するJavaバージョンの切替 [#r78e8b85] #myterm2(){{ 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 }} バージョンが切り替わったか確認 #myterm2(){{ 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のインストール [#w1c5446a] #myterm2(){{ sudo yum install git -y }} ** Jenkinsのインストール [#n4605e1f] #myterm2(){{ 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のサービス開始 [#gdbfc49e] #myterm2(){{ sudo service jenkins start }} ** Jenkinsインストール用の管理者パスワードを確認 [#lc81743b] #myterm2(){{ sudo cat /var/lib/jenkins/secrets/initialAdminPassword ffee.....b6e8 }} ** Jenkinsにログイン [#g017c319] http://ec2-XX-XXX-XX-XX.ap-northeast-1.compute.amazonaws.com:8080 にアクセスし、Administrator password に、先程確認した管理者パスワードを入力する ※ [Install suggested plugins] で適当なプラグインをインストールしておく。 #html(</div>) * Jenkinsの設定 [#c6e4a45a] #html(<div style="padding-left: 10px;">) ** XXXXXXXXXX [#q24626d6] ** XXXXXXXXXX [#m88eb6d4] #html(</div>) * API Gateway & Lambda の作成 [#q5a620ba] #html(<div style="padding-left: 10px;">) #TODO #html(</div>) * XXXXXXXXXX [#qd3126e9] #html(<div style="padding-left: 10px;">) #TODO #html(</div>)