Skip to content

Create main.yml

Create main.yml #4

Workflow file for this run

name: CI/CD Pipeline
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
module: [adserver, common, eventservice, panel, publisherwebsite]
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: '1.22.5'
- name: Build ${{ matrix.module }}
run: |
cd ${{ matrix.module }}
go build -v
- name: Build Docker image
if: matrix.module == 'Dockerfile'
run: docker build -t myapp:latest .
deploy:
needs: build
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Deploy using Docker Compose
run: |
scp docker-compose.yml $DEPLOY_USER@$DEPLOY_HOST:/path/to/deploy
ssh $DEPLOY_USER@$DEPLOY_HOST 'docker-compose -f /path/to/deploy/docker-compose.yml pull && docker-compose -f /path/to/deploy/docker-compose.yml up -d'