33 lines
1.2 KiB
YAML
33 lines
1.2 KiB
YAML
name: CI/CD Pipeline
|
|
on: push
|
|
env:
|
|
FORGEJO_BASE_URL: ${{ vars.FORGEJO_BASE_URL }}
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v3
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v3
|
|
with:
|
|
go-version: '1.24'
|
|
- name: Build Go Binary
|
|
run: go mod tidy && go build -o loic
|
|
- name: Build and Push Docker Image
|
|
run: |
|
|
docker build -t loic:${{ github.sha }} .
|
|
docker tag loic:${{ github.sha }} ${{ env.FORGEJO_BASE_URL }}/{{ .Identity }}/loic:${{ github.sha }}
|
|
docker login -u {{ .Identity }} --password-stdin ${{ secret.PASSWORD }}
|
|
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 }}
|