Merge pull request #417 from navikt/bugfix-apikey-og-deploy #284
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, push, and deploy app to dev and prod | |
on: | |
push: | |
branches: | |
- 'main' | |
paths-ignore: | |
- README.md | |
- .gitignore | |
- kafka/** | |
env: | |
IMAGE: ghcr.io/navikt/familie-klage:${{ github.sha }} | |
permissions: | |
contents: "read" | |
id-token: "write" | |
packages: "write" | |
jobs: | |
build: | |
name: Build, push and deploy to dev-gcp and prod-gcp | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
cache: 'maven' | |
- name: Bygg med Maven | |
env: | |
GITHUB_USERNAME: x-access-token | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: mvn -B --no-transfer-progress package --settings .m2/maven-settings.xml --file pom.xml | |
- name: Build and publish Docker image | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
echo ${GITHUB_TOKEN} | docker login ghcr.io --username ${GITHUB_REPOSITORY} --password-stdin | |
docker build --tag ${IMAGE} . | |
docker push ${IMAGE} | |
- 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 }} | |
deploy: | |
name: Deploy to GCP | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Deploy til dev-gcp | |
uses: nais/deploy/actions/deploy@v2 | |
env: | |
CLUSTER: dev-gcp | |
RESOURCE: .deploy/preprod.yaml | |
- name: Deploy til prod-gcp | |
uses: nais/deploy/actions/deploy@v2 | |
env: | |
CLUSTER: prod-gcp | |
RESOURCE: .deploy/prod.yaml | |
- 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 }} |