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.
Select the right GitHub repository.
Navigate to Settings > Security > Secrets and Variables > Actions and configure PFX_PASS secret and PFX_USER variable.
Navigate to Actions and click the New Workflow button.
You can use the link Set up a workflow yourself.
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
Â
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.
Â