Flytt ut kontrakter for eksterne og interne APIer i egne moduler #999
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build-Deploy-Prod | |
on: | |
push: | |
branches: | |
- 'main' | |
jobs: | |
build: | |
name: Bygg app/image, push til GAR, deploy til prod-gcp og dev-gcp | |
runs-on: ubuntu-latest | |
permissions: | |
contents: "read" | |
id-token: "write" | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 21 | |
distribution: 'temurin' | |
cache: 'gradle' | |
- name: Bygg med gradle | |
env: | |
GITHUB_USERNAME: x-access-token | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: ./gradlew build -xtest | |
- uses: nais/docker-build-push@v0 | |
id: docker-push | |
with: | |
team: tilbake | |
tag: latest | |
push_image: true | |
dockerfile: Dockerfile | |
docker_context: . | |
- name: Post build failures to Slack | |
if: failure() | |
run: | | |
curl -X POST --data "{\"text\": \"Build av $GITHUB_REPOSITORY feilet - $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID\"}" $WEBHOOK_URL | |
env: | |
WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
outputs: | |
image: ${{ steps.docker-push.outputs.image }} | |
deploy: | |
name: Deploy to GCP | |
needs: build | |
runs-on: ubuntu-latest | |
permissions: | |
contents: "read" | |
id-token: "write" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Deploy til dev-gcp | |
uses: nais/deploy/actions/deploy@v2 | |
env: | |
CLUSTER: dev-gcp | |
RESOURCE: .deploy/nais/app-dev-gcp.yaml | |
VAR: image=${{ needs.build.outputs.image }} | |
ENVIRONMENT: dev-gcp:tilbake | |
- name: Deploy til prod-gcp | |
uses: nais/deploy/actions/deploy@v2 | |
env: | |
CLUSTER: prod-gcp | |
RESOURCE: .deploy/nais/app-prod-gcp-tilbake.yaml | |
VAR: image= ${{ needs.build.outputs.image }} | |
ENVIRONMENT: prod-gcp:tilbake | |
- name: Post deploy failures to Slack | |
if: failure() | |
run: | | |
curl -X POST --data "{\"text\": \"Deploy av $GITHUB_REPOSITORY feilet - $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID\"}" $WEBHOOK_URL | |
env: | |
MESSAGE: "Deploy av feilet" | |
WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |