2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CodeBuild で git-pr-release する

Posted at

git-pr-release に守破離の離に行ってそうな議論をtwitterで目撃したのですが、足元を見ると git-pr-release を導入すると楽できそうな部分があったので、セットアップしてみました。

CodeBuild でやってみた

手慣れた CodeBuild にこのようなビルドプロジェクトを作りました。起動トリガーは develop にプッシュされた時。Dockerコンテナイメージは ruby:latest

version: 0.2

env:
  variables:
     GIT_PR_RELEASE_BRANCH_STAGING: "develop"
     GIT_PR_RELEASE_BRANCH_PRODUCTION: "master"
     GIT_PR_RELEASE_VERSION: "0.6.0"
     DEBUG: "error"
  parameter-store:
     GIT_PR_RELEASE_TOKEN: "github-api-token-pr-create"
     SSH_PRIV_KEY: "ssh_private_key_for_codebuild"

phases:
  install:
    commands:
      - gem install git-pr-release -v "${GIT_PR_RELEASE_VERSION}"
      - ruby -v
      - gem -v
      - git-pr-release --help
  pre_build:
    commands:
      - mkdir ~/.ssh
      - echo "${SSH_PRIV_KEY}" > ~/.ssh/id_rsa
      - |
        cat <<EOF > ~/.ssh/config
        Host *
          StrictHostKeyChecking=no
          UserKnownHostsFile=/dev/null
        EOF
      - chmod 0700 ~/.ssh
      - chmod 0600 ~/.ssh/*
      - |
        GITHUB_REMOTE_URL_GIT_PROTO=$(echo "${CODEBUILD_SOURCE_REPO_URL}" | sed -e 's|https://github.com/|git@github.com:|g')
        echo ${GITHUB_REMOTE_URL_GIT_PROTO}
        git remote set-url origin ${GITHUB_REMOTE_URL_GIT_PROTO}
      - git remote -v
  build:
    commands:
      - git-pr-release --no-fetch

作ってみて

CodeBuildは、CircleCI などと異なり、Remote URL が https になってて、git-pr-release は git な前提なので、

  • SSHの設定を仕込む必要がある
    • AWSとGitHubリポジトリに
      • TravisCIやCircleCIなら勝手にSSH鍵の登録とか済ませてくれる
  • remote urlをgit@github.....に変換する必要がある
  • git remote set-url してやる必要がある

というのが煩雑でした。これを考えると TravisCI や CircleCI, GitHub Actions にしたらもっと簡素にできたなと。

今回ひとつテンプレとして buildspec.yml を作れたので、他のリポジトリにも展開したらいいのですが、

GitHub にSSHアクセス必要で、 GitHub Personal access token も必要なら、CodeBuild以外の選択肢を検討してからでよい

という理解を得ました。まる。

参考

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?