CircleCIでDeploy Keyを用いて別のprivate repoをcloneする

ssh-keygenコマンドで公開鍵/秘密鍵を生成する 公開鍵(id_rsa.pub)をGitHubのDeploy keyに登録する 秘密鍵(id_rsa)をCircleCIに登録する 3.のfingerprintを↓にコピー 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 version: 2.1 jobs: do-something-with-another-repository: docker: - image: circleci/golang:1.11-stretch steps: - add_ssh_keys: fingerprints: - "aa:bb:cc:dd:ee:ff:gg:hh:ii:jj:kk:ll:mm:nn:oo:pp" - run: GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no" git clone git@github.com:aaaanwz/another-repository.git - run: echo 'Do something' workflows: test: jobs: - do-something-with-another-repository

November 28, 2019

Github ActionsでAWS Lambdaにデプロイする

GitHubでreleaseが作成された時、Lambdaにコードを反映させバージョンを更新するワークフローの単純な実装です サンプルディレクトリ構成 1 2 3 4 5 6 7 some-lambda-function-repo ├── .github │ └── workflows │ └── lambda-cd.yml ├── README.md ├── bootstrap └── handler.sh GitHubのSecretsに以下を設定 AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY 必要なPolicyに関しては割愛します Github Actions 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 name: Lambda Continuous Delivery on: push: tags: - '*' jobs: lambda-cd: runs-on: ubuntu-latest steps: - uses: actions/checkout@master - run: chmod u+x * - run: zip -r /tmp/some-lambda-function....

November 28, 2019

mavenプロジェクト作成からCIOps構築まで

git branchに変更が加わった際、 JUnit test (with MySQL) docker build Kubernetes環境にデプロイ (CIOps) が行われるJavaプロジェクトを構築します。 本番運用ではArgoCDなどgitOps構築をお勧めします 登場するもの OSS Maven MySQL Docker サービス GitHub CircleCI AWS (ECR, EKS) ⇦ 微修正でその他マネージドk8sにも応用可能かと思います。 サンプルプロジェクトの実装 最終的にディレクトリ構成はこんな感じになります。順を追って作っていきます。 GitHubからcloneして頂いても結構です。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 testproject/ ├ src/ │ ├ main/ │ │ └ java/ │ │ └testpackage/ │ │ └Main.java │ └ test/ │ └ java/ │ └testpackage/ │ └MainTest.java ├ ....

July 24, 2019