38 lines
1.4 KiB
YAML
38 lines
1.4 KiB
YAML
name: Build and Push
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Login to Harbor
|
|
run: |
|
|
echo '${{ secrets.HARBOR_TOKEN }}' | docker login YOUR_REGISTRY -u '${{ secrets.HARBOR_USERNAME }}' --password-stdin
|
|
|
|
- name: Build and Push Docker image
|
|
run: |
|
|
IMAGE=YOUR_REGISTRY/${{ vars.HARBOR_PROJECT }}/phoenix:${{ gitea.sha }}
|
|
docker build -t $IMAGE .
|
|
docker push $IMAGE
|
|
docker tag $IMAGE YOUR_REGISTRY/${{ vars.HARBOR_PROJECT }}/phoenix:latest
|
|
docker push YOUR_REGISTRY/${{ vars.HARBOR_PROJECT }}/phoenix:latest
|
|
echo "Pushed: $IMAGE"
|
|
|
|
- name: Update deployments repo
|
|
run: |
|
|
git clone https://gitea-actions:${{ secrets.DEPLOY_TOKEN }}@YOUR_GITEA/${{ gitea.repository_owner }}/deployments.git
|
|
cd deployments
|
|
sed -i "s|image: .*/phoenix:.*|image: YOUR_REGISTRY/${{ vars.HARBOR_PROJECT }}/phoenix:${{ gitea.sha }}|" phoenix/deployment.yaml
|
|
git config user.name "gitea-actions"
|
|
git config user.email "gitea-actions@localhost"
|
|
git add phoenix/deployment.yaml
|
|
git diff --cached --quiet || git commit -m "chore: update phoenix image to ${{ gitea.sha }}"
|
|
git push || (git pull --rebase && git push)
|