Skip to content

Conversation

pikachu0310
Copy link
Contributor

ステージング環境を自由に立ててデバッグするための仮案(とりあえずの実装)

@pikachu0310 pikachu0310 enabled auto-merge July 24, 2024 02:16
@hijiki51
Copy link
Member

https://github.com/traPtitech/traQ/blob/master/.github/workflows/master.yml#L6

これここに一行 staging 追加するだけでいいと思う(これコピペしてるんだっけ、目で差分が取れん)

@hijiki51
Copy link
Member

タグ変えてるのか(というかmaster固定なのか)

@pikachu0310
Copy link
Contributor Author

#2488 (comment)
これでもアリ (こちらの方が健全だと思われるのでこっちにしようかな?

if: ${{ github.event.inputs.commit == '' }}
run: echo "TRAQ_REVISION=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(下の方)イメージタグは"master"固定で大丈夫ですか?
(わかりやすさ的に)

branches:
- master
workflow_dispatch:
inputs:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ブランチ指定で動かすのは特に設定なしでできます

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

workflow_dispatch:
だけでも良さそうですが、説明とデフォルト付けた方が良いかなと思うので残しておこうと思ってます。

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

流石にデフォルトはレポジトリのデフォルトブランチになるんじゃ

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

これたぶんpikachuが思ってる挙動と違って、このデフォルトであるドロップダウンの下にinputがもう一つ生えてそこにブランチ入力することになります

ドロップダウンのデフォルトはレポジトリのデフォルトブランチです

image

ここのDry-runにブランチ名を入力することになる

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

なるほど、なら workflow_dispatch: だけで良さそうですね。ありがとうございます。

env:
IMAGE_NAME: traq
IMAGE_TAG: master
IMAGE_TAG: ${{ github.event.inputs.branch || 'master' }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

固定はしたくないなら、デプロイスクリプトもcomposeの中のイメージ名書き換えるようにしましょう

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stagingで固定しちゃおうと思います

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ならデプロイスクリプト側もmaster参照からstaging参照にする必要がありますね
作業忘れないようにしてください

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

正直イマイチ方針がよく分かってないのですが、以下の流れで良いでしょうか?

デプロイスクリプトは → https://git.trap.jp/SysAd/tokyotech.org/src/branch/master/roles/traq/files/deploy.sh です。
このスクリプトは、引数でtraq-backendを受け取り、 https://git.trap.jp/SysAd/tokyotech.org/src/branch/master/roles/traq/templates/docker-compose.yml.j2 に記述されているコンテナをpullして起動する。

なので、

  traq-backend:
    image: ghcr.io/traptitech/traq:latest

となっているところを、

  traq-backend:
    image: ghcr.io/traptitech/traq:staging

に変更する。(traq-frontendに対しても同等の事を行う? 他の箇所にも影響が出そうで怖い)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

それは本番の方じゃないですか?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

あ、確かにそうかもです。
traQ/compose.yaml の方を変更すればいいんですかね?(traQのレポジトリに deploy.sh が見当たらなくて...)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

これはm011に繋いでいるはずです

run: ssh -o LogLevel=QUIET -t ${{ secrets.STAGING_DEPLOY_USER }}@${{ secrets.STAGING_DEPLOY_HOST }} "sudo sh /srv/traq/deploy.sh traq-backend"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(stagingで固定するなら時すでに遅しで使わなそうだけど) git tagからimage tagを生成するはこういうのがあるらしい
https://github.com/docker/metadata-action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants