commit
d4a563fe49
4 changed files with 83 additions and 11 deletions
@ -0,0 +1,72 @@ |
||||
name: Deploy to EC2 |
||||
on: |
||||
workflow_dispatch: # allow manual run |
||||
push: |
||||
branches: |
||||
- feat/ssr |
||||
jobs: |
||||
deploy: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- name: Checkout code |
||||
uses: actions/checkout@v2 |
||||
- uses: actions/setup-node@v1 |
||||
with: |
||||
node-version: 20 |
||||
- uses: pnpm/action-setup@v3.0.0 |
||||
with: |
||||
version: 8.15.6 |
||||
|
||||
# -------------------- |
||||
# Setup configuration |
||||
# -------------------- |
||||
- name: Prepare configuration files |
||||
run: | |
||||
git clone https://${{ secrets.GH_PAT }}@github.com/roadmapsh/infra-config.git configuration --depth 1 |
||||
- name: Copy configuration files |
||||
run: | |
||||
cp configuration/dist/github/developer-roadmap.env .env |
||||
|
||||
# -------------------- |
||||
# Prepare the build |
||||
# -------------------- |
||||
- name: Install dependencies |
||||
run: | |
||||
pnpm install |
||||
- name: Generate build |
||||
run: | |
||||
git clone https://${{ secrets.GH_PAT }}@github.com/roadmapsh/web-draw.git .temp/web-draw --depth 1 |
||||
npm run generate-renderer |
||||
npm run build |
||||
|
||||
# -------------------- |
||||
# Deploy to EC2 |
||||
# -------------------- |
||||
- uses: webfactory/ssh-agent@v0.7.0 |
||||
with: |
||||
ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }} |
||||
- name: Deploy app to EC2 |
||||
run: | |
||||
rsync -apvz --delete --no-times --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.roadmap.sh/ |
||||
- name: Restart PM2 |
||||
uses: appleboy/ssh-action@master |
||||
with: |
||||
host: ${{ secrets.EC2_HOST }} |
||||
username: ${{ secrets.EC2_USERNAME }} |
||||
key: ${{ secrets.EC2_PRIVATE_KEY }} |
||||
script: | |
||||
cd /var/www/v2.roadmap.sh |
||||
sudo pm2 restart web-roadmap |
||||
|
||||
# -------------------- |
||||
# Clear Cloudfront Caching |
||||
# -------------------- |
||||
- name: Clear Cloudfront Caching |
||||
run: | |
||||
curl -L \ |
||||
-X POST \ |
||||
-H "Accept: application/vnd.github+json" \ |
||||
-H "Authorization: Bearer ${{ secrets.GH_PAT }}" \ |
||||
-H "X-GitHub-Api-Version: 2022-11-28" \ |
||||
https://api.github.com/repos/roadmapsh/infra-ansible/actions/workflows/playbook.yml/dispatches \ |
||||
-d '{ "ref":"master", "inputs": { "playbook": "roadmap_web.yml", "tags": "cloudfront", "is_verbose": false } }' |
Loading…
Reference in new issue