37 lines
1.2 KiB
YAML
37 lines
1.2 KiB
YAML
name: Build and Deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: docker:27
|
|
steps:
|
|
- name: Checkout
|
|
run: |
|
|
apk add --no-cache git curl
|
|
git clone --depth 1 --branch ${GITHUB_REF_NAME} \
|
|
http://gitea-http.gitea.svc.cluster.local:3000/${GITHUB_REPOSITORY}.git .
|
|
|
|
- name: Build image
|
|
run: |
|
|
IMAGE=git.nodeup.ru/stackops/test-app:${GITHUB_SHA::8}
|
|
docker build -t $IMAGE .
|
|
docker tag $IMAGE git.nodeup.ru/stackops/test-app:latest
|
|
|
|
- name: Push to registry
|
|
run: |
|
|
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login git.nodeup.ru -u stackops --password-stdin
|
|
docker push git.nodeup.ru/stackops/test-app:${GITHUB_SHA::8}
|
|
docker push git.nodeup.ru/stackops/test-app:latest
|
|
|
|
- name: Deploy via StackOps
|
|
run: |
|
|
curl -sf -X POST http://stackops-api.stackops.svc.cluster.local:8080/stackops.v1.StackOpsService/DeployProject \
|
|
-H "Authorization: Bearer ${{ secrets.STACKOPS_TOKEN }}" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"projectId":"${{ secrets.PROJECT_ID }}"}'
|