Skip to content

Build IBM MQ docker image with AMQP built-in capability #10

Build IBM MQ docker image with AMQP built-in capability

Build IBM MQ docker image with AMQP built-in capability #10

Workflow file for this run

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 }}