Skip to content

Added context to docker build #7

Added context to docker build

Added context to docker build #7

# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Build customers artifact
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 8
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'temurin'
cache: maven
- name: Run Tests
working-directory: ./customers-tomcat-gitops
run: mvn test --file pom.xml
build-artifact:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'temurin'
cache: maven
- name: Build with Maven
working-directory: ./customers-tomcat-gitops
run: mvn -B package -DskipTests --file pom.xml
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: artifact
path: ./customers-tomcat-gitops/target/customers-tomcat-0.0.1-SNAPSHOT.war
retention-days: 1
build-and-push-image:
needs: build-artifact
environment: prod
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: artifact
path: ./customers-tomcat-gitops/target
- name: Build and publish image to Quay
uses: docker/build-push-action@v5
with:
context: 'customers-tomcat-gitops'
file: 'customers-tomcat-gitops/Dockerfile.pipeline'
registry: 'quay.io'
repository: 'openshiftlabs/app-mod-customers'
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
tags: 'latest'