-
Notifications
You must be signed in to change notification settings - Fork 0
68 lines (61 loc) · 2.11 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
name: Deploy SBM Analyzer
on:
push:
branches:
- main
jobs:
deploy-analyzer:
runs-on: ubuntu-latest
environment: prod
steps:
# 1. リポジトリをチェックアウト
- name: Checkout repository
uses: actions/checkout@v3
# 2. 成果物をEC2にデプロイ
- name: Deploy code to EC2
uses: burnett01/rsync-deployments@5.1
with:
switches: '-avz --delete --rsync-path="sudo rsync"'
path: ./ # ローカルのコードパス
remote_path: /srv/sbm/analyzer/ # EC2のデプロイ先ディレクトリ
remote_host: ${{ secrets.HOST }}
remote_user: ${{ secrets.USER }}
remote_key: ${{ secrets.SECRET_KEY }}
# 3. Conda 環境で依存関係のインストール
- name: Set up Python environment and install dependencies
uses: appleboy/ssh-action@v0.1.5
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USER }}
key: ${{ secrets.SECRET_KEY }}
script: |
cd /srv/sbm/analyzer
source ~/miniconda3/bin/activate
conda activate sbm-analyzer
pip install --upgrade pip
pip install -r requirements.txt
# 4. .env ファイルの生成
- name: Generate .env file
uses: appleboy/ssh-action@v0.1.5
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USER }}
key: ${{ secrets.SECRET_KEY }}
script: |
cat << EOF > /srv/sbm/analyzer/.env
ENVIRONMENT=prod
DB_USER=${{ secrets.DB_USER }}
DB_PASSWORD=${{ secrets.DB_PASSWORD }}
DB_HOST=${{ secrets.DB_HOST }}
DB_PORT=${{ secrets.DB_PORT }}
DB_NAME=${{ secrets.DB_NAME }}
EOF
# 5. サービスを再起動
- name: Restart sbm-analyzer service
uses: appleboy/ssh-action@v0.1.5
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USER }}
key: ${{ secrets.SECRET_KEY }}
script: |
sudo systemctl restart sbm-analyzer