/
GitHub Pipelines for Customer Projects

GitHub Pipelines for Customer Projects

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 Settings > Security > Secrets and Variables > Actions and configure PFX_PASS secret and PFX_USER variable.

image-20240720-024233.png

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

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

  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.

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.

 

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

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’

Found an issue in documentation? Write to us.