Building the Docker Images

To build the TIBCO Mashery Local Docker images, follow the steps in the sections below.

Upload the TIBCO Mashery-built Adapter

The Jenkins job " upload-mashery-built-adapter" is for uploading the TIBCO Mashery-built adapter, and can be accessed via the Jenkins web console:

To upload a TIBCO Mashery-built adapter:
  1. Click Browse to select the adapter file.
  2. Click Build to upload the adapter to Jenkins server.
Note:
  • A TIBCO Mashery-built adapter is made available to customers via TIBCO Mashery FTP service.
  • A TIBCO Mashery-built adapter is a tar.gz or tgz file; an example of the file contents:
    -rw-r--r-- artifacts.jar
    drwxr-xr-x binary
    -rw-r--r-- content.jar
    drwxr-xr-x features
    drwxr-xr-x plugins
  • The compressed contents of the TIBCO Mashery-built adapter are extracted to /var/jenkins_home/userContent/proxy-customer in the tml-installer container.
When the Docker image for Traffic Manager is built, this mashery-built adapter will be built into the docker image. Here is an example build output.
15:50:11 Updating /opt/javaproxy/proxy...
15:50:12 INFO  Profile Local
15:50:12 INFO  Timestamp Sat, 17 Nov 2018 23:50:11 GMT
15:50:12 INFO  Found com.mashery.apiserver.oauth.feature.group 1.16.0.v20181116-0033 Mashery API Server
15:50:12 INFO  Found com.mashery.proxy.local.customer.extensions.feature.group 1.0.0 Customer Extensions
15:50:12 INFO  Found com.mashery.proxy.local.customer.feature.group 1.0.0 Customer-specific Bundles
15:50:12 INFO  Found com.mashery.proxy.local.product 1.46.0.v20181116-2143 Mashery Proxy
15:50:13 INFO  Installing com.mashery.proxy.local.customer.feature.group 1.59.0.v20180813-0728
15:50:13 INFO  Profile updated.
15:50:13 INFO  Timestamp Sat, 17 Nov 2018 23:50:13 GMT
15:50:13 INFO  Found com.mashery.apiserver.oauth.feature.group 1.16.0.v20181116-0033 Mashery API Server
15:50:13 INFO  Found com.mashery.proxy.local.customer.extensions.feature.group 1.0.0 Customer Extensions
15:50:13 INFO  Found com.mashery.proxy.local.customer.feature.group 1.59.0.v20180813-0728 Customer-specific Bundles
15:50:13 INFO  Found com.mashery.proxy.local.product 1.46.0.v20181116-2143 Mashery Proxy
15:50:14 INFO  Operation completed in 1996 ms.

Upload the Customer-built Adapter

Jenkins job "upload-customer-built-adapter" is for uploading the customer-built adapter, and can be accessed via Jenkins web console:

To upload a customer-built adapter:
  1. Click Browse to select the adapter file.
  2. Click Build to upload the adapter to the Jenkins server.
Note:
  • A customer-built adapter is built by a customer using the Mashery SDK.
  • A customer-built adapter is zip file; and uploaded to "/var/jenkins_home/userContent/proxy-extension" in the tml-installer container.
When docker image for Traffic Manager is built, this customer-built adapter will be built into the docker image. Here is an example build output:
15:50:14 * Connected to tmgc-installer-host (192.168.4.60) port 8080 (#0)
15:50:14 > GET /userContent/proxy-extension/customer_extension.zip HTTP/1.1
15:50:14 > User-Agent: curl/7.29.0
15:50:14 > Host: tmgc-installer-host:8080
15:50:14 > Accept: */*
15:50:14 > 
15:50:14 [0m[91m< HTTP/1.1 200 OK
15:50:14 < Date: Sat, 17 Nov 2018 23:50:14 GMT
15:50:14 < X-Content-Type-Options: nosniff
15:50:14 < Content-Security-Policy: sandbox; default-src 'none'; img-src 'self'; style-src 'self';
15:50:14 < X-WebKit-CSP: sandbox; default-src 'none'; img-src 'self'; style-src 'self';
15:50:14 < X-Content-Security-Policy: sandbox; default-src 'none'; img-src 'self'; style-src 'self';
15:50:14 < Last-Modified: Sat, 17 Nov 2018 23:42:06 GMT
15:50:14 < Expires: Sat, 17 Nov 2018 23:42:06 GMT
15:50:14 < Accept-Ranges: bytes
15:50:14 < Content-Type: application/zip
15:50:14 < Content-Length: 126649
15:50:14 < Server: Jetty(9.4.z-SNAPSHOT)
15:50:14 < 
15:50:14 { [data not shown]
15:50:14 
100  123k  100  123k    0     0  18.9M      0 --:--:-- --:--:-- --:--:-- 20.1M
15:50:14 * Connection #0 to host tmgc-installer-host left intact
15:50:14 [0mArchive:  /tmp/customer_extension.zip
15:50:14   inflating: /tmp/customer-bundles/Base64Adapter-1.0.jar  
15:50:14   inflating: /tmp/customer-bundles/Base64UrlAdapter-1.0.jar  
15:50:14   inflating: /tmp/customer-bundles/Base64UrlAdapter2-1.0.jar  
15:50:14   inflating: /tmp/customer-bundles/lib/codec-1.3.0.v201101211617.jar  
15:50:14   inflating: /tmp/customer-bundles/lib/codec-1.4.0.v201209201156.jar  
15:50:14 /opt/javaproxy/tools/packager /opt/javaproxy
15:50:15 Buildfile: /opt/javaproxy/tools/packager/build.xml
15:50:15 
15:50:15 all:
15:50:15 
15:50:15 setUp:
15:50:15     [mkdir] Created dir: /tmp/dist-repository
15:50:15     [mkdir] Created dir: /tmp/dist-repository/source
15:50:15     [mkdir] Created dir: /tmp/dist-repository/source/plugins
15:50:15     [mkdir] Created dir: /tmp/dist-repository/source/features
15:50:15     [mkdir] Created dir: /tmp/dist-repository/destination
15:50:15 
15:50:15 packageRepository:
15:50:15      [copy] Copying 2 files to /tmp/dist-repository/source/features
15:50:15 
15:50:15 publishRepository:
15:50:15       [zip] Building zip: /tmp/dist-repository/repository.zip
15:50:15 BUILD SUCCESSFUL
15:50:15 
15:50:15 BUILD SUCCESSFUL
15:50:15 Total time: 0 seconds
15:50:15 /opt/javaproxy
15:50:15 Archive:  /tmp/dist-repository/repository.zip
15:50:15    creating: /tmp/dist-install/features/
15:50:15    creating: /tmp/dist-install/plugins/
15:50:15   inflating: /tmp/dist-install/artifacts.xml  
15:50:15   inflating: /tmp/dist-install/content.xml  
15:50:15   inflating: /tmp/dist-install/features/com.mashery.proxy.local.customer.extensions_1.0.0.201811172350.jar  
15:50:15   inflating: /tmp/dist-install/plugins/com.mashery.customer.Base64Adapter-1.0_1.0.0.201811172350.jar  
15:50:15   inflating: /tmp/dist-install/plugins/com.mashery.customer.Base64UrlAdapter-1.0_1.0.0.201811172350.jar  
15:50:15   inflating: /tmp/dist-install/plugins/com.mashery.customer.Base64UrlAdapter2-1.0_1.0.0.201811172350.jar  
15:50:15 Updating /opt/javaproxy/proxy...
15:50:16 INFO  Profile Local
15:50:16 INFO  Timestamp Sat, 17 Nov 2018 23:50:13 GMT
15:50:16 INFO  Found com.mashery.apiserver.oauth.feature.group 1.16.0.v20181116-0033 Mashery API Server
15:50:16 INFO  Found com.mashery.proxy.local.customer.extensions.feature.group 1.0.0 Customer Extensions
15:50:16 INFO  Found com.mashery.proxy.local.customer.feature.group 1.59.0.v20180813-0728 Customer-specific Bundles
15:50:16 INFO  Found com.mashery.proxy.local.product 1.46.0.v20181116-2143 Mashery Proxy
15:50:16 INFO  Installing com.mashery.proxy.local.customer.extensions.feature.group 1.0.0.201811172350
15:50:17 INFO  Profile updated.
15:50:17 INFO  Timestamp Sat, 17 Nov 2018 23:50:17 GMT
15:50:17 INFO  Found com.mashery.apiserver.oauth.feature.group 1.16.0.v20181116-0033 Mashery API Server
15:50:17 INFO  Found com.mashery.proxy.local.customer.extensions.feature.group 1.0.0.201811172350 Mashery Customer Extensions
15:50:17 INFO  Found com.mashery.proxy.local.customer.feature.group 1.59.0.v20180813-0728 Customer-specific Bundles
15:50:17 INFO  Found com.mashery.proxy.local.product 1.46.0.v20181116-2143 Mashery Proxy
15:50:17 INFO  Operation completed in 1350 ms.

Build in Jenkins

Jenkins job "build-docker" for building Docker images can be accessed via the Jenkins web console:
http://docker_host:8080/
  1. Start Jenkins job tml-build-docker:

    Jenkins job "build-docker" can also be started remotely via Jenkins API:
    curl -v -X POST http://docker_host:8080/job/build-docker/buildWithParameters \
        --data-urlencode json='{"RELEASE_VERSION":"5.0.0", \
            "BUILD_NOSQL":"true", \
            "BUILD_LOG":"true", \
            "BUILD_SQL":"true", \
            "BUILD_CACHE":"true", \
            "BUILD_TM":"true", \
            "BUILD_CM":"true"}'
  2. After a successful build, the following Docker images are available:

  3. Docker images are available for download by clicking the job number.