Build and Deploy the Mend for GitHub Enterprise container images
Overview
The Mend for GitHub Enterprise integration uses 3 containers: a controller container, a scanner container, and a remediate container. This article provides details and instructions for building the images needed to create and deploy the 3 container types.
Getting it Done
Build and Tag the Docker Images
There are three different ways of building the Docker images.
IMPORTANT: By default, a total of three images will be built: wss-ghe-app, wss-scanner, and wss-remediate.
1. Using an Executable Script File
The suggested way to build all the Docker images is by running the build.bat or build.sh executable script file (Windows/Linux).
Both files are located in the root of the extracted agent-4-github-enterprise-<version>.zip or agent-4-github-enterprise-<version>.tar.gz files.
Windows
Run build.bat file which is located in the main folder where you extracted the agent-4-github-enterprise zip file.
In order to ensure that the build succeeded, run docker images command and check if wss-ghe-app and wss-scanner and wss-remediate images were created.
Linux
Run the build.sh file, located in the main folder where you extracted the agent-4-github-enterprise tar.gz file.
In order to ensure that the build succeeded, run the docker images command and check if wss-ghe-app and wss-scanner and wss-remediate images were created.
2. Manually Build the Images
IMPORTANT: If you have already run the build file, please skip these steps and continue to Target machine: Run the Images.
IMPORTANT: If you haven’t completed the preparations for a dedicated SAST container you will need to build it manually.
In case you want to run the steps of the build file manually, you can run the following commands directly:
docker build -t wss-ghe-app:<version> wss-ghe-app/docker
docker build -t wss-scanner:<version> wss-scanner/docker
docker build -t wss-remediate:<version> wss-remediate/docker
# For dedicated sast: replace "wss-scanner-sast" with the directory
# with the modified Dockerfile
docker build -t wss-scanner-sast:<version> -f wss-scanner/docker/DockerfileSast wss-scanner/docker
# For example:
docker build -t wss-ghe-app:19.5.2 wss-ghe-app/docker
docker build -t wss-scanner:19.5.2 wss-scanner/docker
docker build -t wss-scanner-sast:19.5.2 wss-scanner-sast/docker
docker build -t wss-remediate:19.5.2 wss-remediate/docker
NOTE: From version 21.5.1, the Remediate Docker file supports both Ubuntu 18.04 and Ubuntu 20.04-compatible images. The base image can be changed using the BASE_IMAGE build argument. e.g.
docker build --build-arg BASE_IMAGE=ubuntu:18.04 -t wss-remediate:21.5.1 wss-remediate/docker
3. Using a Docker Registry
If you are using a private Docker Registry, run the following commands to push the images into your registry:
docker push <registry>/wss-scanner:<version>
docker push <registry>/wss-scanner:<version>
docker push <registry>/wss-remediate:<version>
# For dedicated sast: rename "wss-scanner-sast" to what your
# dedicated sast image is named.
docker push <registry>/wss-scanner-sast:<version>
# For example:
docker push my-registry/wss-scanner:19.5.2
docker push my-registry/wss-scanner:19.5.2
docker push my-registry/wss-scanner-sast:19.5.2
docker push my-registry/wss-remediate:19.5.2
After executing the commands, you should be able to view the images in your registry.
Next Steps after building the Mend for GitHub Enterprise container images
After successfully building the container images, you are ready to deploy them. We provide instructions for two deployment methods: