From 054b3aa597a92a38d78cb34b9864e7765773d192 Mon Sep 17 00:00:00 2001 From: Luke Devlin Date: Tue, 27 Aug 2024 14:07:40 +0100 Subject: [PATCH 1/3] docker files --- .github/workflows/docker.yml | 35 +++++++++++++++++++++++++++++++++++ .github/workflows/maven.yml | 28 ++++++++++++++++++++++++++++ Dockerfile | 21 +++++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100644 .github/workflows/docker.yml create mode 100644 .github/workflows/maven.yml create mode 100644 Dockerfile diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 000000000..21312e4d6 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,35 @@ +name: Docker Image CI + +on: + push: + branches: [ main ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: eu-west-1 + + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v1 + + - name: Build & push the Docker image + env: + DB_PASSWORD: ${{ secrets.DB_PASSWORD }} + DB_USERNAME: ${{ secrets.DB_USERNAME }} + DB_HOST: ${{ secrets.DB_HOST }} + DB_NAME: ${{ secrets.DB_NAME }} + ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} + ECR_REPOSITORY: employee_demo + IMAGE_TAG: derry-t2-api + run: | + docker build --build-arg DB_PASSWORD=${DB_PASSWORD} --build-arg DB_USERNAME=${DB_USERNAME} --build-arg DB_HOST=${DB_HOST} --build-arg DB_NAME=${DB_NAME} -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . + docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG \ No newline at end of file diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 000000000..600d5787f --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,28 @@ +name: Java CI with Maven + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + - name: Build with Maven + env: + DB_PASSWORD: ${{ secrets.DB_PASSWORD }} + DB_USERNAME: ${{ secrets.DB_USERNAME }} + DB_HOST: ${{ secrets.DB_HOST }} + DB_NAME: ${{ secrets.DB_NAME }} + run: mvn clean integration-test \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..6988a5926 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +FROM maven:latest + +WORKDIR /code +COPY . /code + +ARG DB_HOST +ARG DB_NAME +ARG DB_USERNAME +ARG DB_PASSWORD +ENV DB_HOST ${DB_HOST} +ENV DB_PASSWORD ${DB_PASSWORD} +ENV DB_USERNAME ${DB_USERNAME} +ENV DB_NAME ${DB_NAME} + + +RUN mvn clean install -DskipTests=true + +EXPOSE 8080 + +CMD ["java","-jar", "/code/target/java-dropwizard-flyway-starter-1.0-SNAPSHOT.jar", "server", "/code/config.yml"] + From 7677e5723aeaea1d7cee8349372f7f38f3f0315d Mon Sep 17 00:00:00 2001 From: Luke Devlin Date: Tue, 27 Aug 2024 16:14:15 +0100 Subject: [PATCH 2/3] fix --- .github/workflows/docker.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 21312e4d6..a926e4a9c 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -3,12 +3,17 @@ name: Docker Image CI on: push: branches: [ main ] + pull_request: + branches: [ main ] + + +workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v1 From 356bd662a0e1f157db14f6aaaebf02d3675e462f Mon Sep 17 00:00:00 2001 From: Luke Devlin Date: Tue, 27 Aug 2024 16:19:40 +0100 Subject: [PATCH 3/3] fix --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index a926e4a9c..32a874b9b 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -7,7 +7,7 @@ on: branches: [ main ] -workflow_dispatch: + workflow_dispatch: jobs: build: