loic-go/.forgejo/workflows/pipeline.yml

33 lines
1.2 KiB
YAML
Raw Normal View History

2025-03-28 11:04:34 +00:00
name: CI/CD Pipeline
on: push
2025-03-28 11:04:34 +00:00
env:
FORGEJO_BASE_URL: ${{ vars.FORGEJO_BASE_URL }}
jobs:
build-and-deploy:
runs-on: ubuntu-latest
2025-03-28 11:04:34 +00:00
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: '1.21'
- name: Build Go Binary
run: go build -o loic
- name: Build and Push Docker Image
run: |
docker build -t loic:${{ github.sha }} .
echo "$FORGEJO_API_TOKEN" | docker login -u {{ .Identity }} --password-stdin ${{ env.FORGEJO_BASE_URL }}
docker tag loic:${{ github.sha }} ${{ env.FORGEJO_BASE_URL }}/{{ .Identity }}/loic:${{ github.sha }}
docker push ${{ env.FORGEJO_BASE_URL }}/{{ .Identity }}/loic:${{ github.sha }}
- name: Update Deployment Manifest
run: |
sed -i "s|image: .*|image: ${{ env.FORGEJO_BASE_URL }}/{{ .Identity }}/loic:${{ github.sha }}|" k8s/deployment.yaml
git config --global user.email "ci@edp.local"
git config --global user.name "CI Bot"
git add k8s/deployment.yaml
git commit -m "Update image to ${{ github.sha }}"
git push
env:
FORGEJO_API_TOKEN: ${{ secrets.FORGEJO_API_TOKEN }}