Build IBM MQ docker image with AMQP built-in capability (backport #11419) #12
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: IBM MQ docker image (make) | |
on: | |
push: | |
branches: | |
- 'main' | |
paths: | |
- '.github/workflows/ibm-mq-make.yaml' | |
pull_request: | |
paths: | |
- '.github/workflows/ibm-mq-make.yaml' | |
env: | |
REGISTRY_IMAGE: pivotalrabbitmq/ibm-mqadvanced-server-dev | |
IBM_MQ_REPOSITORY: ibm-messaging/mq-container | |
IBM_MQ_BRANCH_NAME: 9.3.5 | |
IMAGE_TAG: 9.3.5.1-amd64 | |
jobs: | |
docker: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Docker meta | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: ${{ env.REGISTRY_IMAGE }} | |
- | |
name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Checkout ibm-mqadvanced-server-dev | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ env.IBM_MQ_REPOSITORY }} | |
ref: ${{ env.IBM_MQ_BRANCH_NAME }} | |
- name: Prepare image | |
run: | | |
ls | |
echo "Enabling AMQP capability" | |
sed -i -e 's/genmqpkg_incamqp=0/genmqpkg_incamqp=1/g' Dockerfile-server | |
echo "AMQP Bootstrap instructions" | |
cat << EOF >> incubating/mqadvanced-server-dev/10-dev.mqsc.tpl | |
SET AUTHREC PRINCIPAL('app') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ,ALTUSR) | |
SET CHLAUTH('SYSTEM.DEF.AMQP') TYPE(ADDRESSMAP) ADDRESS('*') USERSRC(CHANNEL) CHCKCLNT({{ .ChckClnt }}) DESCR('Allows connection via APP channel') ACTION(REPLACE) | |
SET AUTHREC PROFILE('SYSTEM.BASE.TOPIC') PRINCIPAL('app') OBJTYPE(TOPIC) AUTHADD(PUB,SUB) | |
SET AUTHREC PROFILE('SYSTEM.DEFAULT.MODEL.QUEUE') PRINCIPAL('app') OBJTYPE(QUEUE) AUTHADD(PUT,DSP) | |
ALTER CHANNEL(SYSTEM.DEF.AMQP) CHLTYPE(AMQP) MCAUSER('app') | |
START SERVICE(SYSTEM.AMQP.SERVICE) | |
START CHANNEL(SYSTEM.DEF.AMQP) | |
EOF | |
make build-devserver | |
docker tag ibm-mqadvanced-server-dev:${{ env.IMAGE_TAG }} ${{ env.REGISTRY_IMAGE }}:${{ env.IMAGE_TAG }} | |
- | |
name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- name: Push | |
run: | | |
docker push ${{ env.REGISTRY_IMAGE }}:${{ env.IMAGE_TAG }} |