Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Current »

This guide is intended for partners and customers who want to use their own GitHub as their Git repository and CI/CD tool instead of GitLab.

Before you start, make sure you have sufficient rights in GitHub.

  1. Select the right GitHub repository.

  2. Navigate to Actions and click the New Workflow button.

image-20240506-203946.png
  1. You can use the link Set up a workflow yourself.

image-20240506-204305.png
  1. This link creates a file in the .github/worflows/ folder. Use the standard naming github-ci.yml and add the below content to the file.

image-20240506-204512.png
name: Deploy
on:
  push:
    branches: 
      - main
      - qa
      
  workflow_dispatch: # enable manual runs, useful for dev and uat
        
env:
  PFX_USER: ${{ vars.PFX_USER }}
  PFX_PASS: ${{ secrets.PFX_PASS }}

jobs:
  test:
    runs-on: ubuntu-latest
    container: maven:3.6-jdk-11
      
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Cache local Maven repository
        uses: actions/cache@v4
        with:
          path: /root/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
            
      - name: test
        run: mvn clean test -e --batch-mode

  deploy:
    runs-on: ubuntu-latest
    container: pricefx/pfxpackage
    needs: test # only deploy if test results are green 

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: deploy PROD customer
        if: github.ref == 'refs/heads/main'
        run: pfxpackage -import -timeout 120 
          -url https://customer.pricefx.com -partition customer 
          -user $PFX_USER -password $PFX_PASS 
          -from $GITHUB_WORKSPACE $OPTIONS

      - name: deploy QA customer-qa
        if: github.ref == 'refs/heads/qa'
        run: pfxpackage -import -timeout 120 
          -url https://customer-qa.pricefx.com -partition customer-qa
          -user $PFX_USER -password $PFX_PASS -partition $PARTITION 
          -from $GITHUB_WORKSPACE $OPTIONS

  1. Navigate to Actions > All workflows and you should be able to see the list of workflows and the corresponding workflow runs.

image-20240506-205413.png

GitHub Actions will always download the latest pricefx/pfxpackage docker image from the registry

image-20240705-232803.png

Pro tip: Studio plugin for IntelliJ Idea can generate the .github-ci.yml file for you based on your config.json file, just right-click your project folder then navigate to Pricefx > CI Deployment > Create ‘github-ci.yml’

  • No labels