GitHub Action CICD

Prerequisite: Attached file, GITRepo.zip should be present in the GitHub repo as shown in the first snapshot

The following files are available in the folder. The following information details the configuration changes need to be made.

Build.xml

Build.xml files hold the configuration settings and also all the defined ANT tags.

Some of the ant tags are explained below:

Details about all the ant targets can be found in CICD- AntTags.

controller.json

Basically has details about the controller machine and the credentials. Above can be used when we have the EC2 set-up.

When we are running AIQ local builds, instances in the 2nd line could be replaced with "url" and full URL of the AIQ controller could be provided.

{
"controller": {
"url": "<http://<replace_IP>:8080",>
"instances": ["<replace_instanceID>"],
"ec2Creds": "ec2.creds",
"timeOut": 180,
"username": "<replace_username>",
"password": "<replace_password>",
"workFolder": "<replace_path/to/AIQ/resources>"
}
}

ec2.creds

ec2.creds will have details of the AWS account: This can be used when we are using AIQ Controller on the EC2 machine and when yours tests are run in the AWS cloud.

AWS_ACCESS_KEY_ID=<replace_awsKEYIDE>

AWS_SECRET_ACCESS_KEY=<replace_awsSecretAccessKey>

Required File Changes

Once we login to GitHub click the Actions tabs and click New Workflow

Click Simple Workflow by Github and paste the below code into the .yml Text Editor

name: CI-Create-Dashboard

on:
  push:
    branches:
      - master
  workflow_dispatch:

env:
  REGISTRY: &lt;name of registry&gt;jobs:
  lint:
    runs-on: ubuntu-latest
    name: Lint Code Base
    steps:
      - name: Checkout Code
        uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - name: Lint Code Base
        uses: github/super-linter@v4
        env:
          VALIDATE_ALL_CODEBASE: false
          DEFAULT_BRANCH: master
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

  build_and_push:
    runs-on: ubuntu-latest
    name: Build and push docker image
    needs: lint
    outputs:
      commit_hash: ${{ steps.commit_hash.outputs.commit_hash }}
    steps:
      - uses: actions/checkout@v3
      - name: Set up JDK 11
        uses: actions/setup-java@v3
        with: 
          java-version: '11'
          distribution: 'adopt'
      - name: Build with Ant
        run: ant -noinput -buildfile build.xml

      - id: commit_hash
        run: echo "::set-output name=commit_hash::${GITHUB_SHA::7}"      - name: Login to &lt;registry&gt;        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKER_USER }}
          password: ${{ secrets.DOCKER_TOKEN }}

      - name: Build and push
        uses: docker/build-push-action@v3
        with:
          context: .
          push: true
          tags: |
            ${{ env.REGISTRY }}:${{ steps.commit_hash.outputs.commit_hash }}
 

                                                

Click Run Workflow


Last updated: July 03, 2023

If you have any feedback on this topic, please contact us at documentation@appvance.ai


Revision #6
Created 2026-07-31 15:38:18 UTC by Admin
Updated 2026-10-14 13:51:31 UTC by AI_Mananger