├── Dockerfile ├── docs └── dev │ ├── changelog-footer.md │ └── changelog-header.md ├── Makefile ├── README.md ├── .gitignore ├── changelog.sh ├── .pre-commit-config.yaml ├── .updatebot.yml ├── OWNERS ├── Dockerfile.common ├── dependency-matrix ├── matrix.md └── matrix.yaml ├── .secrets.baseline ├── Dockerfile.mavenbase ├── replace-versions.sh ├── Dockerfile.gobase ├── update-bot.sh └── jenkins-x.yml /Dockerfile: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/dev/changelog-footer.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/dev/changelog-header.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | VERSION := 0.1.0-SNAPSHOT 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # jenkins-x-builders 2 | 3 | a monorepo containing all builders for jenkins-x. 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .updatebot-repos 2 | 3 | # IntelliJ 4 | .idea/ 5 | builder-base/Dockerfile.base 6 | builder-base/Dockerfile.ruby 7 | builder-base/Dockerfile.swift 8 | builder-base/Dockerfile.slim 9 | -------------------------------------------------------------------------------- /changelog.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [[ ! -z "${PULL_BASE_SHA}" ]]; then 4 | jx step changelog --verbose --header-file docs/dev/changelog-header.md --version ${VERSION} --rev ${PULL_BASE_SHA} 5 | fi 6 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: git@github.com:Yelp/detect-secrets 3 | rev: v0.12.4 4 | hooks: 5 | - id: detect-secrets 6 | args: ['--baseline', '.secrets.baseline'] 7 | exclude: .*/tests/.* -------------------------------------------------------------------------------- /.updatebot.yml: -------------------------------------------------------------------------------- 1 | github: 2 | organisations: 3 | - name: jenkins-x 4 | includes: 5 | - jenkins-x-platform 6 | - name: jenkins-x-charts 7 | includes: 8 | - environment-controller 9 | - jx-build-templates 10 | - prow 11 | -------------------------------------------------------------------------------- /OWNERS: -------------------------------------------------------------------------------- 1 | approvers: 2 | - rawlingsj 3 | - jstrachan 4 | - rajdavies 5 | - ccojocar 6 | - garethjevans 7 | - i0n 8 | - pmuir 9 | - warrenbailey 10 | - abayer 11 | - jenkins-x-bot 12 | - cagiti 13 | reviewers: 14 | - rawlingsj 15 | - jstrachan 16 | - rajdavies 17 | - ccojocar 18 | - garethjevans 19 | - i0n 20 | - pmuir 21 | - warrenbailey 22 | - abayer 23 | - jenkins-x-bot 24 | - cagiti 25 | -------------------------------------------------------------------------------- /Dockerfile.common: -------------------------------------------------------------------------------- 1 | # lets keep all the main versions of components used in this file 2 | # to make life easier for updatebot to auto-Pull Request this stuff 3 | 4 | ENV DOCKER_VERSION 17.12.0 5 | ENV EXPOSECONTROLLER_VERSION 2.3.34 6 | ENV GCLOUD_VERSION 222.0.0 7 | ENV HELM_VERSION 2.17.0 8 | ENV JX_RELEASE_VERSION 1.0.17 9 | ENV JX_VERSION 2.1.155 10 | ENV SKAFFOLD_VERSION 0.21.1 11 | ENV UPDATEBOT_VERSION 1.1.36 12 | ENV REFLEX_VERSION 0.3.1 13 | -------------------------------------------------------------------------------- /dependency-matrix/matrix.md: -------------------------------------------------------------------------------- 1 | # Dependency Matrix 2 | 3 | Dependency | Sources | Version | Mismatched versions 4 | ---------- | ------- | ------- | ------------------- 5 | [jenkins-x/jx](https://github.com/jenkins-x/jx) | | [2.1.155](https://github.com/jenkins-x/jx/releases/tag/v2.1.155) | 6 | [jenkins-x/jenkins-x-builders-base](https://github.com/jenkins-x/jenkins-x-builders-base) | | [0.0.87](https://github.com/jenkins-x/jenkins-x-builders-base/releases/tag/v0.0.87) | 7 | [jenkins-x/jenkins-x-builders-base-image](https://github.com/jenkins-x/jenkins-x-builders-base-image) | [github.com/jenkins-x/jenkins-x-builders-base](https://github.com/jenkins-x/jenkins-x-builders-base) | [0.0.36]() | 8 | -------------------------------------------------------------------------------- /.secrets.baseline: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": { 3 | "files": null, 4 | "lines": null 5 | }, 6 | "generated_at": "2019-07-24T17:00:10Z", 7 | "plugins_used": [ 8 | { 9 | "name": "AWSKeyDetector" 10 | }, 11 | { 12 | "name": "ArtifactoryDetector" 13 | }, 14 | { 15 | "base64_limit": 4.5, 16 | "name": "Base64HighEntropyString" 17 | }, 18 | { 19 | "name": "BasicAuthDetector" 20 | }, 21 | { 22 | "hex_limit": 3, 23 | "name": "HexHighEntropyString" 24 | }, 25 | { 26 | "name": "KeywordDetector" 27 | }, 28 | { 29 | "name": "PrivateKeyDetector" 30 | }, 31 | { 32 | "name": "SlackDetector" 33 | }, 34 | { 35 | "name": "StripeDetector" 36 | } 37 | ], 38 | "results": {}, 39 | "version": "0.12.5" 40 | } 41 | -------------------------------------------------------------------------------- /Dockerfile.mavenbase: -------------------------------------------------------------------------------- 1 | FROM gcr.io/jenkinsxio/builder-base:0.0.87 2 | 3 | # Maven 4 | ENV MAVEN_VERSION 3.6.3 5 | RUN curl -f -L https://repo1.maven.org/maven2/org/apache/maven/apache-maven/$MAVEN_VERSION/apache-maven-$MAVEN_VERSION-bin.tar.gz | tar -C /opt -xzv 6 | ENV M2_HOME /opt/apache-maven-$MAVEN_VERSION 7 | ENV maven.home $M2_HOME 8 | ENV M2 $M2_HOME/bin 9 | ENV PATH $M2:$PATH 10 | 11 | # /home/jenkins/jdk-11.0.2 seems to still be present in final images so let's just force a rm. 12 | RUN curl https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz | tar -xz && \ 13 | mv /home/jenkins/jdk-11.0.2 /usr/java && \ 14 | rm -rf /home/jenkins/jdk-11.0.2 15 | RUN ln -s /usr/java/bin/java /usr/bin/java 16 | RUN ln -s /usr/java/bin/javac /usr/bin/javac 17 | RUN ln -s /usr/java/bin/javadoc /usr/bin/javadoc 18 | ENV JAVA_HOME /usr/java 19 | -------------------------------------------------------------------------------- /dependency-matrix/matrix.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - host: github.com 3 | owner: jenkins-x 4 | repo: jx 5 | url: https://github.com/jenkins-x/jx 6 | version: 2.1.155 7 | versionURL: https://github.com/jenkins-x/jx/releases/tag/v2.1.155 8 | - host: github.com 9 | owner: jenkins-x 10 | repo: jenkins-x-builders-base 11 | url: https://github.com/jenkins-x/jenkins-x-builders-base 12 | version: 0.0.87 13 | versionURL: https://github.com/jenkins-x/jenkins-x-builders-base/releases/tag/v0.0.87 14 | - host: github.com 15 | owner: jenkins-x 16 | repo: jenkins-x-builders-base-image 17 | sources: 18 | - path: 19 | - host: github.com 20 | owner: jenkins-x 21 | repo: jenkins-x-builders-base 22 | url: https://github.com/jenkins-x/jenkins-x-builders-base 23 | version: 0.0.83 24 | versionURL: https://github.com/jenkins-x/jenkins-x-builders-base/releases/tag/v0.0.83 25 | version: 0.0.36 26 | versionURL: "" 27 | url: https://github.com/jenkins-x/jenkins-x-builders-base-image 28 | version: 0.0.36 29 | versionURL: "" 30 | -------------------------------------------------------------------------------- /replace-versions.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | set -o errexit 16 | set -o nounset 17 | set -o pipefail 18 | 19 | function combine_with_base_image { 20 | base=$1 21 | builders=$2 22 | 23 | for i in $builders 24 | do 25 | echo "updating builder-${i}" 26 | pushd builder-${i} 27 | cp Dockerfile Dockerfile.bak 28 | cat /workspace/source/Dockerfile.${base}base > Dockerfile 29 | cat Dockerfile.bak >> Dockerfile 30 | rm Dockerfile.bak 31 | head -n 1 Dockerfile 32 | popd 33 | done 34 | } 35 | 36 | combine_with_base_image "maven" "maven-java11 maven-nodejs" 37 | combine_with_base_image "go" "go go-maven terraform go-nodejs" 38 | -------------------------------------------------------------------------------- /Dockerfile.gobase: -------------------------------------------------------------------------------- 1 | FROM gcr.io/jenkinsxio/builder-base:0.0.87 2 | 3 | RUN curl -f -o /etc/yum.repos.d/vbatts-bazel-epel-7.repo https://copr.fedorainfracloud.org/coprs/vbatts/bazel/repo/epel-7/vbatts-bazel-epel-7.repo \ 4 | && yum install -y bazel \ 5 | && yum clean all 6 | 7 | ENV GOLANG_VERSION 1.15.6 8 | RUN wget https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz && \ 9 | tar -C /usr/local -xzf go$GOLANG_VERSION.linux-amd64.tar.gz && \ 10 | rm go${GOLANG_VERSION}.linux-amd64.tar.gz 11 | 12 | ENV GLIDE_VERSION v0.13.1 13 | ENV GO15VENDOREXPERIMENT 1 14 | RUN wget https://github.com/Masterminds/glide/releases/download/$GLIDE_VERSION/glide-$GLIDE_VERSION-linux-amd64.tar.gz && \ 15 | tar -xzf glide-$GLIDE_VERSION-linux-amd64.tar.gz && \ 16 | mv linux-amd64 /usr/local/glide && \ 17 | rm glide-$GLIDE_VERSION-linux-amd64.tar.gz 18 | 19 | ENV DEP_VERSION v0.5.0 20 | RUN wget https://github.com/golang/dep/releases/download/$DEP_VERSION/dep-linux-amd64 && chmod +x dep-linux-amd64 && \ 21 | mv dep-linux-amd64 /usr/local/dep 22 | 23 | ENV GH_RELEASE_VERSION 2.2.1 24 | RUN wget https://github.com/progrium/gh-release/releases/download/v$GH_RELEASE_VERSION/gh-release_${GH_RELEASE_VERSION}_linux_x86_64.tgz && \ 25 | tar -xzf gh-release_${GH_RELEASE_VERSION}_linux_x86_64.tgz && \ 26 | mv gh-release /usr/local/gh-release && \ 27 | rm gh-release_${GH_RELEASE_VERSION}_linux_x86_64.tgz 28 | 29 | ENV PROTOBUF 3.5.1 30 | RUN wget https://github.com/google/protobuf/releases/download/v${PROTOBUF}/protoc-${PROTOBUF}-linux-x86_64.zip && \ 31 | unzip protoc-${PROTOBUF}-linux-x86_64.zip -d protoc && \ 32 | chmod +x protoc && cp protoc/bin/protoc /usr/bin/protoc && rm -rf protoc 33 | 34 | ENV PATH $PATH:/usr/local/go/bin 35 | ENV PATH $PATH:/usr/local/glide 36 | ENV PATH $PATH:/usr/local/dep 37 | ENV PATH $PATH:/usr/local/ 38 | ENV GOROOT /usr/local/go 39 | ENV GOPATH=/home/jenkins/go 40 | ENV PATH $PATH:$GOPATH/bin 41 | ENV HUGO_VERSION 0.58.0 42 | 43 | # godog needs to have GO111MODULE=on, but we don't want to set that everywhere. 44 | RUN GO111MODULE=on go get github.com/cucumber/godog/cmd/godog && \ 45 | mv $GOPATH/bin/godog /usr/local/ && \ 46 | # Hugo needs version of GLIBCXX that's not in Centros 7 47 | # will have to download and compile 48 | curl -Lf -o hugo.zip https://github.com/gohugoio/hugo/archive/v${HUGO_VERSION}.zip && \ 49 | unzip hugo.zip && \ 50 | cd hugo-${HUGO_VERSION} && \ 51 | GOBIN=/usr/local go install -tags extended && \ 52 | cd .. && rm -fr hugo* && \ 53 | hugo version && \ 54 | go get github.com/derekparker/delve/cmd/dlv && \ 55 | mv $GOPATH/bin/* /usr/local/ && \ 56 | #RUN go get github.com/golang/protobuf/proto && \ 57 | # go get github.com/micro/protoc-gen-micro && \ 58 | # go get github.com/golang/protobuf/protoc-gen-go && \ 59 | # go get -u github.com/micro/micro && \ 60 | # mv $GOPATH/bin/* /usr/local/ && \ 61 | # cp -r $GOPATH/src/* /usr/local/go/src 62 | # Gotestsum; nicer output for tests and converts go test output to junit xml 63 | go get gotest.tools/gotestsum && \ 64 | mv $GOPATH/bin/gotestsum /usr/local/ && \ 65 | go clean -cache -modcache && rm -rf $GOPATH/src/* 66 | -------------------------------------------------------------------------------- /update-bot.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o errexit 4 | set -o nounset 5 | set -o pipefail 6 | 7 | jx step create pr chart --name gcr.io/jenkinsxio/builder-ruby --name gcr.io/jenkinsxio/builder-swift \ 8 | --name gcr.io/jenkinsxio/builder-dlang --name gcr.io/jenkinsxio/builder-go --name gcr.io/jenkinsxio/builder-go-maven \ 9 | --name gcr.io/jenkinsxio/builder-gradle --name gcr.io/jenkinsxio/builder-gradle4 --name gcr.io/jenkinsxio/builder-gradle5 \ 10 | --name gcr.io/jenkinsxio/builder-jx --name gcr.io/jenkinsxio/builder-maven --name gcr.io/jenkinsxio/builder-maven-32 \ 11 | --name gcr.io/jenkinsxio/builder-maven-java11 --name gcr.io/jenkinsxio/builder-maven-nodejs --name gcr.io/jenkinsxio/builder-newman \ 12 | --name gcr.io/jenkinsxio/builder-nodejs --name gcr.io/jenkinsxio/builder-nodejs8x --name gcr.io/jenkinsxio/builder-nodejs10x \ 13 | --name gcr.io/jenkinsxio/builder-nodejs12x --name gcr.io/jenkinsxio/builder-php5x --name gcr.io/jenkinsxio/builder-php7x \ 14 | --name gcr.io/jenkinsxio/builder-python --name gcr.io/jenkinsxio/builder-python2 --name gcr.io/jenkinsxio/builder-python37 \ 15 | --name gcr.io/jenkinsxio/builder-rust --name gcr.io/jenkinsxio/builder-scala --name gcr.io/jenkinsxio/builder-terraform \ 16 | --name gcr.io/jenkinsxio/builder-go-nodejs --name gcr.io/jenkinsxio/builder-dotnet --name gcr.io/jenkinsxio/builder-maven-java14 \ 17 | --name gcr.io/jenkinsxio/builder-nodejs14x --name gcr.io/jenkinsxio/builder-maven-graalvm-java11 \ 18 | --version ${VERSION} --repo https://github.com/jenkins-x/jenkins-x-platform.git 19 | 20 | jx step create pr regex --regex "builderTag: (.*)" --version ${VERSION} --files jx-build-templates/values.yaml --repo https://github.com/jenkins-x-charts/jx-build-templates.git 21 | jx step create pr regex --regex "(?m)^\s+repository: gcr.io/jenkinsxio/builder-[\w-_]+\s+tag: (?P.*)$" --version ${VERSION} --files jenkins-x-platform/values.yaml --files values.yaml --repo https://github.com/jenkins-x/jenkins-x-platform.git 22 | jx step create pr regex --regex "(?m)^\s+repository: gcr.io/jenkinsxio/builder-maven\s+tag: (?P.*)" --version ${VERSION} --files prow/values.yaml --files environment-controller/values.yaml --repo https://github.com/jenkins-x-charts/prow.git --repo https://github.com/jenkins-x-charts/environment-controller.git 23 | jx step create pr regex --regex "(?m)^\s+repository: gcr.io/jenkinsxio/builder-[\w-_]+\s+tag: (?P.*)$" --version ${VERSION} --files jxboot-helmfile-resources/values.yaml --repo https://github.com/jenkins-x-charts/jxboot-helmfile-resources.git 24 | jx step create pr regex --regex "(?m)^\s+image: gcr.io/jenkinsxio/builder-[\w-_]+:(?P.*)$" --version ${VERSION} --files jxboot-helmfile-resources/values.yaml --repo https://github.com/jenkins-x-charts/jxboot-helmfile-resources.git 25 | 26 | JX_VERSION=$(echo $VERSION|cut -d'-' -f1) 27 | jx step create pr chart --name jx --version $JX_VERSION --repo https://github.com/jenkins-x/jenkins-x-platform.git --src-repo https://github.com/jenkins-x/jx.git 28 | jx step create pr regex --regex "\s*jxTag:\s*(.*)" --version $JX_VERSION --files prow/values.yaml --repo https://github.com/jenkins-x-charts/prow.git --src-repo https://github.com/jenkins-x/jx.git 29 | 30 | -------------------------------------------------------------------------------- /jenkins-x.yml: -------------------------------------------------------------------------------- 1 | buildPack: none 2 | pipelineConfig: 3 | pipelines: 4 | pullRequest: 5 | pipeline: 6 | options: 7 | containerOptions: 8 | resources: 9 | limits: 10 | memory: 16Gi 11 | cpu: 3 12 | requests: 13 | memory: 12Gi 14 | cpu: 2 15 | distributeParallelAcrossNodes: true 16 | agent: 17 | image: gcr.io/kaniko-project/executor:9912ccbf8d22bbafbf971124600fbb0b13b9cbd6 18 | stages: 19 | - name: build-and-push 20 | options: 21 | volumes: 22 | - name: kaniko-secret 23 | secret: 24 | secretName: kaniko-secret 25 | items: 26 | - key: kaniko-secret 27 | path: kaniko/kaniko-secret.json 28 | containerOptions: 29 | volumeMounts: 30 | - name: kaniko-secret 31 | mountPath: /secrets 32 | environment: 33 | - name: PUSH_LATEST 34 | value: "false" 35 | - name: GOOGLE_APPLICATION_CREDENTIALS 36 | value: /secrets/kaniko/kaniko-secret.json 37 | - name: GIT_COMMITTER_EMAIL 38 | value: jenkins-x@googlegroups.com 39 | - name: GIT_COMMITTER_NAME 40 | value: jenkins-x-bot 41 | - name: GIT_AUTHOR_EMAIL 42 | value: jenkins-x@googlegroups.com 43 | - name: GIT_AUTHOR_NAME 44 | value: jenkins-x-bot 45 | parallel: 46 | - name: batch-1 47 | steps: 48 | - image: centos:7 49 | command: ./replace-versions.sh 50 | 51 | # cache base images 52 | - name: warm-cache 53 | image: gcr.io/kaniko-project/warmer:9912ccbf8d22bbafbf971124600fbb0b13b9cbd6 54 | command: /kaniko/warmer 55 | args: 56 | - --cache-dir=/workspace 57 | - --image=gcr.io/jenkinsxio/builder-base:0.0.87 58 | 59 | # builders 60 | - name: build-and-push-maven-java11 61 | command: /kaniko/executor 62 | args: 63 | - --dockerfile=/workspace/source/builder-maven-java11/Dockerfile 64 | - --destination=gcr.io/jenkinsxio/builder-maven-java11:$(inputs.params.version) 65 | - --context=/workspace/source 66 | - --cache-repo=gcr.io/jenkinsxio/cache 67 | - --cache=true 68 | - --cache-dir=/workspace 69 | # builders 70 | - name: build-and-push-maven-java14 71 | command: /kaniko/executor 72 | args: 73 | - --dockerfile=/workspace/source/builder-maven-java14/Dockerfile 74 | - --destination=gcr.io/jenkinsxio/builder-maven-java14:$(inputs.params.version) 75 | - --context=/workspace/source 76 | - --cache-repo=gcr.io/jenkinsxio/cache 77 | - --cache=true 78 | - --cache-dir=/workspace 79 | - name: build-and-push-maven-graalvm 80 | command: /kaniko/executor 81 | args: 82 | - --dockerfile=/workspace/source/builder-maven-graalvm/Dockerfile 83 | - --destination=gcr.io/jenkinsxio/builder-maven-graalvm:$(inputs.params.version) 84 | - --context=/workspace/source 85 | - --cache-repo=gcr.io/jenkinsxio/cache 86 | - --cache=true 87 | - --cache-dir=/workspace 88 | - name: build-and-push-maven-graalvm-java11 89 | command: /kaniko/executor 90 | args: 91 | - --dockerfile=/workspace/source/builder-maven-graalvm-java11/Dockerfile 92 | - --destination=gcr.io/jenkinsxio/builder-maven-graalvm-java11:$(inputs.params.version) 93 | - --context=/workspace/source 94 | - --cache-repo=gcr.io/jenkinsxio/cache 95 | - --cache=true 96 | - --cache-dir=/workspace 97 | - name: build-and-push-maven-nodejs 98 | command: /kaniko/executor 99 | args: 100 | - --dockerfile=/workspace/source/builder-maven-nodejs/Dockerfile 101 | - --destination=gcr.io/jenkinsxio/builder-maven-nodejs:$(inputs.params.version) 102 | - --context=/workspace/source 103 | - --cache-repo=gcr.io/jenkinsxio/cache 104 | - --cache=true 105 | - --cache-dir=/workspace 106 | - name: build-and-push-maven 107 | command: /kaniko/executor 108 | args: 109 | - --dockerfile=/workspace/source/builder-maven/Dockerfile 110 | - --destination=gcr.io/jenkinsxio/builder-maven:$(inputs.params.version) 111 | - --context=/workspace/source 112 | - --cache-repo=gcr.io/jenkinsxio/cache 113 | - --cache=true 114 | - --cache-dir=/workspace 115 | - name: build-and-push-python 116 | command: /kaniko/executor 117 | args: 118 | - --dockerfile=/workspace/source/builder-python/Dockerfile 119 | - --destination=gcr.io/jenkinsxio/builder-python:$(inputs.params.version) 120 | - --context=/workspace/source 121 | - --cache-repo=gcr.io/jenkinsxio/cache 122 | - --cache=true 123 | - --cache-dir=/workspace 124 | - name: build-and-push-maven-32 125 | command: /kaniko/executor 126 | args: 127 | - --dockerfile=/workspace/source/builder-maven-32/Dockerfile 128 | - --destination=gcr.io/jenkinsxio/builder-maven-32:$(inputs.params.version) 129 | - --context=/workspace/source/builder-maven-32 130 | - --cache-repo=gcr.io/jenkinsxio/cache 131 | - --cache=true 132 | - --cache-dir=/workspace 133 | - name: batch-2 134 | steps: 135 | - image: centos:7 136 | command: ./replace-versions.sh 137 | 138 | # cache base images 139 | - name: warm-cache 140 | image: gcr.io/kaniko-project/warmer:9912ccbf8d22bbafbf971124600fbb0b13b9cbd6 141 | command: /kaniko/warmer 142 | args: 143 | - --cache-dir=/workspace 144 | - --image=gcr.io/jenkinsxio/builder-base:0.0.87 145 | - name: build-and-push-go-maven 146 | command: /kaniko/executor 147 | args: 148 | - --dockerfile=/workspace/source/builder-go-maven/Dockerfile 149 | - --destination=gcr.io/jenkinsxio/builder-go-maven:$(inputs.params.version) 150 | - --context=/workspace/source/builder-go-maven 151 | - --cache-repo=gcr.io/jenkinsxio/cache 152 | - --cache=true 153 | - --cache-dir=/workspace 154 | - name: build-and-push-go 155 | command: /kaniko/executor 156 | args: 157 | - --dockerfile=/workspace/source/builder-go/Dockerfile 158 | - --destination=gcr.io/jenkinsxio/builder-go:$(inputs.params.version) 159 | - --context=/workspace/source 160 | - --cache-repo=gcr.io/jenkinsxio/cache 161 | - --cache=true 162 | - --cache-dir=/workspace 163 | - name: build-and-push-terraform 164 | command: /kaniko/executor 165 | args: 166 | - --dockerfile=/workspace/source/builder-terraform/Dockerfile 167 | - --destination=gcr.io/jenkinsxio/builder-terraform:$(inputs.params.version) 168 | - --context=/workspace/source 169 | - --cache-repo=gcr.io/jenkinsxio/cache 170 | - --cache=true 171 | - --cache-dir=/workspace 172 | - name: build-and-push-go-nodejs 173 | command: /kaniko/executor 174 | args: 175 | - --dockerfile=/workspace/source/builder-go-nodejs/Dockerfile 176 | - --destination=gcr.io/jenkinsxio/builder-go-nodejs:$(inputs.params.version) 177 | - --context=/workspace/source 178 | - --cache-repo=gcr.io/jenkinsxio/cache 179 | - --cache=true 180 | - --cache-dir=/workspace 181 | - name: build-and-push-php5x 182 | command: /kaniko/executor 183 | args: 184 | - --dockerfile=/workspace/source/builder-php5x/Dockerfile 185 | - --destination=gcr.io/jenkinsxio/builder-php5x:$(inputs.params.version) 186 | - --context=/workspace/source 187 | - --cache-repo=gcr.io/jenkinsxio/cache 188 | - --cache=true 189 | - --cache-dir=/workspace 190 | - name: build-and-push-php7x 191 | command: /kaniko/executor 192 | args: 193 | - --dockerfile=/workspace/source/builder-php7x/Dockerfile 194 | - --destination=gcr.io/jenkinsxio/builder-php7x:$(inputs.params.version) 195 | - --context=/workspace/source 196 | - --cache-repo=gcr.io/jenkinsxio/cache 197 | - --cache=true 198 | - --cache-dir=/workspace 199 | - name: batch-3 200 | steps: 201 | - image: centos:7 202 | command: ./replace-versions.sh 203 | 204 | # cache base images 205 | - name: warm-cache 206 | image: gcr.io/kaniko-project/warmer:9912ccbf8d22bbafbf971124600fbb0b13b9cbd6 207 | command: /kaniko/warmer 208 | args: 209 | - --cache-dir=/workspace 210 | - --image=gcr.io/jenkinsxio/builder-base:0.0.87 211 | - name: build-and-push-gradle 212 | command: /kaniko/executor 213 | args: 214 | - --dockerfile=/workspace/source/builder-gradle/Dockerfile 215 | - --destination=gcr.io/jenkinsxio/builder-gradle:$(inputs.params.version) 216 | - --context=/workspace/source 217 | - --cache-repo=gcr.io/jenkinsxio/cache 218 | - --cache=true 219 | - --cache-dir=/workspace 220 | - name: build-and-push-gradle4 221 | command: /kaniko/executor 222 | args: 223 | - --dockerfile=/workspace/source/builder-gradle4/Dockerfile 224 | - --destination=gcr.io/jenkinsxio/builder-gradle4:$(inputs.params.version) 225 | - --context=/workspace/source 226 | - --cache-repo=gcr.io/jenkinsxio/cache 227 | - --cache=true 228 | - --cache-dir=/workspace 229 | - name: build-and-push-gradle5 230 | command: /kaniko/executor 231 | args: 232 | - --dockerfile=/workspace/source/builder-gradle5/Dockerfile 233 | - --destination=gcr.io/jenkinsxio/builder-gradle5:$(inputs.params.version) 234 | - --context=/workspace/source 235 | - --cache-repo=gcr.io/jenkinsxio/cache 236 | - --cache=true 237 | - --cache-dir=/workspace 238 | - name: build-and-push-gradle5-java11 239 | command: /kaniko/executor 240 | args: 241 | - --dockerfile=/workspace/source/builder-gradle5-java11/Dockerfile 242 | - --destination=gcr.io/jenkinsxio/builder-gradle5-java11:$(inputs.params.version) 243 | - --context=/workspace/source 244 | - --cache-repo=gcr.io/jenkinsxio/cache 245 | - --cache=true 246 | - --cache-dir=/workspace 247 | - name: build-and-push-nodejs 248 | command: /kaniko/executor 249 | args: 250 | - --dockerfile=/workspace/source/builder-nodejs/Dockerfile 251 | - --destination=gcr.io/jenkinsxio/builder-nodejs:$(inputs.params.version) 252 | - --context=/workspace/source 253 | - --cache-repo=gcr.io/jenkinsxio/cache 254 | - --cache=true 255 | - --cache-dir=/workspace 256 | - name: build-and-push-nodejs8x 257 | command: /kaniko/executor 258 | args: 259 | - --dockerfile=/workspace/source/builder-nodejs8x/Dockerfile 260 | - --destination=gcr.io/jenkinsxio/builder-nodejs8x:$(inputs.params.version) 261 | - --context=/workspace/source 262 | - --cache-repo=gcr.io/jenkinsxio/cache 263 | - --cache=true 264 | - --cache-dir=/workspace 265 | - name: build-and-push-nodejs14x 266 | command: /kaniko/executor 267 | args: 268 | - --dockerfile=/workspace/source/builder-nodejs14x/Dockerfile 269 | - --destination=gcr.io/jenkinsxio/builder-nodejs14x:$(inputs.params.version) 270 | - --context=/workspace/source 271 | - --cache-repo=gcr.io/jenkinsxio/cache 272 | - --cache=true 273 | - --cache-dir=/workspace 274 | - name: batch-4 275 | steps: 276 | - image: centos:7 277 | command: ./replace-versions.sh 278 | 279 | # cache base images 280 | - name: warm-cache 281 | image: gcr.io/kaniko-project/warmer:9912ccbf8d22bbafbf971124600fbb0b13b9cbd6 282 | command: /kaniko/warmer 283 | args: 284 | - --cache-dir=/workspace 285 | - --image=gcr.io/jenkinsxio/builder-swiftbase:0.0.87 286 | - --image=gcr.io/jenkinsxio/builder-base:0.0.87 287 | - --image=gcr.io/jenkinsxio/builder-rubybase:0.0.87 288 | - name: build-and-push-jx 289 | command: /kaniko/executor 290 | args: 291 | - --dockerfile=/workspace/source/builder-jx/Dockerfile 292 | - --destination=gcr.io/jenkinsxio/builder-jx:$(inputs.params.version) 293 | - --context=/workspace/source 294 | - --cache-repo=gcr.io/jenkinsxio/cache 295 | - --cache=true 296 | - --cache-dir=/workspace 297 | - name: build-and-push-asciidoctor 298 | command: /kaniko/executor 299 | args: 300 | - --dockerfile=/workspace/source/builder-asciidoctor/Dockerfile 301 | - --destination=gcr.io/jenkinsxio/builder-asciidoctor:$(inputs.params.version) 302 | - --context=/workspace/source 303 | - --cache-repo=gcr.io/jenkinsxio/cache 304 | - --cache=true 305 | - --cache-dir=/workspace 306 | - name: build-and-push-nodejs10x 307 | command: /kaniko/executor 308 | args: 309 | - --dockerfile=/workspace/source/builder-nodejs10x/Dockerfile 310 | - --destination=gcr.io/jenkinsxio/builder-nodejs10x:$(inputs.params.version) 311 | - --context=/workspace/source 312 | - --cache-repo=gcr.io/jenkinsxio/cache 313 | - --cache=true 314 | - --cache-dir=/workspace 315 | - name: build-and-push-python2 316 | command: /kaniko/executor 317 | args: 318 | - --dockerfile=/workspace/source/builder-python2/Dockerfile 319 | - --destination=gcr.io/jenkinsxio/builder-python2:$(inputs.params.version) 320 | - --context=/workspace/source 321 | - --cache-repo=gcr.io/jenkinsxio/cache 322 | - --cache=true 323 | - --cache-dir=/workspace 324 | - name: build-and-push-ruby 325 | command: /kaniko/executor 326 | args: 327 | - --dockerfile=/workspace/source/builder-ruby/Dockerfile 328 | - --destination=gcr.io/jenkinsxio/builder-ruby:$(inputs.params.version) 329 | - --context=/workspace/source 330 | - --cache-repo=gcr.io/jenkinsxio/cache 331 | - --cache=true 332 | - --cache-dir=/workspace 333 | - name: build-and-push-scala 334 | command: /kaniko/executor 335 | args: 336 | - --dockerfile=/workspace/source/builder-scala/Dockerfile 337 | - --destination=gcr.io/jenkinsxio/builder-scala:$(inputs.params.version) 338 | - --context=/workspace/source 339 | - --cache-repo=gcr.io/jenkinsxio/cache 340 | - --cache=true 341 | - --cache-dir=/workspace 342 | - name: build-and-push-swift 343 | command: /kaniko/executor 344 | args: 345 | - --dockerfile=/workspace/source/builder-swift/Dockerfile 346 | - --destination=gcr.io/jenkinsxio/builder-swift:$(inputs.params.version) 347 | - --context=/workspace/source 348 | - --cache-repo=gcr.io/jenkinsxio/cache 349 | - --cache=true 350 | - --cache-dir=/workspace 351 | - name: batch-5 352 | steps: 353 | - image: centos:7 354 | command: ./replace-versions.sh 355 | 356 | # cache base images 357 | - name: warm-cache 358 | image: gcr.io/kaniko-project/warmer:9912ccbf8d22bbafbf971124600fbb0b13b9cbd6 359 | command: /kaniko/warmer 360 | args: 361 | - --cache-dir=/workspace 362 | - --image=gcr.io/jenkinsxio/builder-base:0.0.87 363 | - name: build-and-push-python37 364 | command: /kaniko/executor 365 | args: 366 | - --dockerfile=/workspace/source/builder-python37/Dockerfile 367 | - --destination=gcr.io/jenkinsxio/builder-python37:$(inputs.params.version) 368 | - --context=/workspace/source 369 | - --cache-repo=gcr.io/jenkinsxio/cache 370 | - --cache=true 371 | - --cache-dir=/workspace 372 | - name: build-and-push-nodejs12x 373 | command: /kaniko/executor 374 | args: 375 | - --dockerfile=/workspace/source/builder-nodejs12x/Dockerfile 376 | - --destination=gcr.io/jenkinsxio/builder-nodejs12x:$(inputs.params.version) 377 | - --context=/workspace/source 378 | - --cache-repo=gcr.io/jenkinsxio/cache 379 | - --cache=true 380 | - --cache-dir=/workspace 381 | - name: build-and-push-newman 382 | command: /kaniko/executor 383 | args: 384 | - --dockerfile=/workspace/source/builder-newman/Dockerfile 385 | - --destination=gcr.io/jenkinsxio/builder-newman:$(inputs.params.version) 386 | - --context=/workspace/source 387 | - --cache-repo=gcr.io/jenkinsxio/cache 388 | - --cache=true 389 | - --cache-dir=/workspace 390 | - name: build-and-push-cf 391 | command: /kaniko/executor 392 | args: 393 | - --dockerfile=/workspace/source/builder-cf/Dockerfile 394 | - --destination=gcr.io/jenkinsxio/builder-cf:$(inputs.params.version) 395 | - --context=/workspace/source 396 | - --cache-repo=gcr.io/jenkinsxio/cache 397 | - --cache=true 398 | - --cache-dir=/workspace 399 | - name: build-and-push-dlang 400 | command: /kaniko/executor 401 | args: 402 | - --dockerfile=/workspace/source/builder-dlang/Dockerfile 403 | - --destination=gcr.io/jenkinsxio/builder-dlang:$(inputs.params.version) 404 | - --context=/workspace/source 405 | - --cache-repo=gcr.io/jenkinsxio/cache 406 | - --cache=true 407 | - --cache-dir=/workspace 408 | - name: build-and-push-dotnet 409 | command: /kaniko/executor 410 | args: 411 | - --dockerfile=/workspace/source/builder-dotnet/Dockerfile 412 | - --destination=gcr.io/jenkinsxio/builder-dotnet:$(inputs.params.version) 413 | - --context=/workspace/source 414 | - --cache-repo=gcr.io/jenkinsxio/cache 415 | - --cache=true 416 | - --cache-dir=/workspace 417 | - name: build-and-push-rust 418 | command: /kaniko/executor 419 | args: 420 | - --dockerfile=/workspace/source/builder-rust/Dockerfile 421 | - --destination=gcr.io/jenkinsxio/builder-rust:$(inputs.params.version) 422 | - --context=/workspace/source 423 | - --cache-repo=gcr.io/jenkinsxio/cache 424 | - --cache=true 425 | - --cache-dir=/workspace 426 | release: 427 | setVersion: 428 | steps: 429 | - name: next-version 430 | sh: "jx step next-version --version $(jx step get dependency-version --host=github.com --owner=jenkins-x --repo=jx --dir . | sed 's/.*: \\(.*\\)/\\1/')-${BUILD_NUMBER} --tag" 431 | 432 | pipeline: 433 | options: 434 | containerOptions: 435 | resources: 436 | limits: 437 | memory: 16Gi 438 | cpu: 3 439 | requests: 440 | memory: 12Gi 441 | cpu: 2 442 | agent: 443 | image: gcr.io/kaniko-project/executor:9912ccbf8d22bbafbf971124600fbb0b13b9cbd6 444 | stages: 445 | - name: build-base 446 | options: 447 | volumes: 448 | - name: kaniko-secret 449 | secret: 450 | secretName: kaniko-secret 451 | items: 452 | - key: kaniko-secret 453 | path: kaniko/kaniko-secret.json 454 | containerOptions: 455 | volumeMounts: 456 | - name: kaniko-secret 457 | mountPath: /secrets 458 | environment: 459 | - name: PUSH_LATEST 460 | value: "false" 461 | - name: GOOGLE_APPLICATION_CREDENTIALS 462 | value: /secrets/kaniko/kaniko-secret.json 463 | - name: GIT_COMMITTER_EMAIL 464 | value: jenkins-x@googlegroups.com 465 | - name: GIT_COMMITTER_NAME 466 | value: jenkins-x-bot 467 | - name: GIT_AUTHOR_EMAIL 468 | value: jenkins-x@googlegroups.com 469 | - name: GIT_AUTHOR_NAME 470 | value: jenkins-x-bot 471 | steps: 472 | # cache base images 473 | - name: warm-cache 474 | image: gcr.io/kaniko-project/warmer:9912ccbf8d22bbafbf971124600fbb0b13b9cbd6 475 | command: /kaniko/warmer 476 | args: 477 | - --cache-dir=/workspace 478 | - --image=gcr.io/jenkinsxio/builder-swiftbase:0.0.87 479 | - --image=gcr.io/jenkinsxio/builder-base:0.0.87 480 | - --image=gcr.io/jenkinsxio/builder-rubybase:0.0.87 481 | 482 | - name: build-and-push-jx2 483 | command: /kaniko/executor 484 | args: 485 | - --dockerfile=/workspace/source/builder-jx/Dockerfile 486 | - --destination=gcr.io/jenkinsxio/builder-jx:$(inputs.params.version) 487 | - --destination=gcr.io/jenkinsxio/builder-jx:latest 488 | - --context=/workspace/source 489 | - --cache-repo=gcr.io/jenkinsxio/cache 490 | - --cache=true 491 | - --cache-dir=/workspace 492 | 493 | # builders 494 | 495 | - image: centos:7 496 | command: ./replace-versions.sh 497 | 498 | - name: build-and-push-maven-java11 499 | command: /kaniko/executor 500 | args: 501 | - --dockerfile=/workspace/source/builder-maven-java11/Dockerfile 502 | - --destination=gcr.io/jenkinsxio/builder-maven-java11:$(inputs.params.version) 503 | - --destination=gcr.io/jenkinsxio/builder-maven-java11:latest 504 | - --context=/workspace/source 505 | - --cache-repo=gcr.io/jenkinsxio/cache 506 | - --cache=true 507 | - --cache-dir=/workspace 508 | - name: build-and-push-maven-java14 509 | command: /kaniko/executor 510 | args: 511 | - --dockerfile=/workspace/source/builder-maven-java14/Dockerfile 512 | - --destination=gcr.io/jenkinsxio/builder-maven-java14:$(inputs.params.version) 513 | - --destination=gcr.io/jenkinsxio/builder-maven-java14:latest 514 | - --context=/workspace/source 515 | - --cache-repo=gcr.io/jenkinsxio/cache 516 | - --cache=true 517 | - --cache-dir=/workspace 518 | - name: build-and-push-maven-graalvm 519 | command: /kaniko/executor 520 | args: 521 | - --dockerfile=/workspace/source/builder-maven-graalvm/Dockerfile 522 | - --destination=gcr.io/jenkinsxio/builder-maven-graalvm:$(inputs.params.version) 523 | - --destination=gcr.io/jenkinsxio/builder-maven-graalvm:latest 524 | - --context=/workspace/source 525 | - --cache-repo=gcr.io/jenkinsxio/cache 526 | - --cache=true 527 | - --cache-dir=/workspace 528 | - name: build-and-push-maven-graalvm-java11 529 | command: /kaniko/executor 530 | args: 531 | - --dockerfile=/workspace/source/builder-maven-graalvm-java11/Dockerfile 532 | - --destination=gcr.io/jenkinsxio/builder-maven-graalvm-java11:$(inputs.params.version) 533 | - --destination=gcr.io/jenkinsxio/builder-maven-graalvm-java11:latest 534 | - --context=/workspace/source 535 | - --cache-repo=gcr.io/jenkinsxio/cache 536 | - --cache=true 537 | - --cache-dir=/workspace 538 | - name: build-and-push-maven-nodejs 539 | command: /kaniko/executor 540 | args: 541 | - --dockerfile=/workspace/source/builder-maven-nodejs/Dockerfile 542 | - --destination=gcr.io/jenkinsxio/builder-maven-nodejs:$(inputs.params.version) 543 | - --destination=gcr.io/jenkinsxio/builder-maven-nodejs:latest 544 | - --context=/workspace/source 545 | - --cache-repo=gcr.io/jenkinsxio/cache 546 | - --cache=true 547 | - --cache-dir=/workspace 548 | - name: build-and-push-cf 549 | command: /kaniko/executor 550 | args: 551 | - --dockerfile=/workspace/source/builder-cf/Dockerfile 552 | - --destination=gcr.io/jenkinsxio/builder-cf:$(inputs.params.version) 553 | - --destination=gcr.io/jenkinsxio/builder-cf:latest 554 | - --context=/workspace/source 555 | - --cache-repo=gcr.io/jenkinsxio/cache 556 | - --cache=true 557 | - --cache-dir=/workspace 558 | - name: build-and-push-go 559 | command: /kaniko/executor 560 | args: 561 | - --dockerfile=/workspace/source/builder-go/Dockerfile 562 | - --destination=gcr.io/jenkinsxio/builder-go:$(inputs.params.version) 563 | - --destination=gcr.io/jenkinsxio/builder-go:latest 564 | - --context=/workspace/source 565 | - --cache-repo=gcr.io/jenkinsxio/cache 566 | - --cache=true 567 | - --cache-dir=/workspace 568 | - name: build-and-push-go-nodejs 569 | command: /kaniko/executor 570 | args: 571 | - --dockerfile=/workspace/source/builder-go-nodejs/Dockerfile 572 | - --destination=gcr.io/jenkinsxio/builder-go-nodejs:$(inputs.params.version) 573 | - --destination=gcr.io/jenkinsxio/builder-go-nodejs:latest 574 | - --context=/workspace/source 575 | - --cache-repo=gcr.io/jenkinsxio/cache 576 | - --cache=true 577 | - --cache-dir=/workspace 578 | - name: build-and-push-python37 579 | command: /kaniko/executor 580 | args: 581 | - --dockerfile=/workspace/source/builder-python37/Dockerfile 582 | - --destination=gcr.io/jenkinsxio/builder-python37:$(inputs.params.version) 583 | - --destination=gcr.io/jenkinsxio/builder-python37:latest 584 | - --context=/workspace/source 585 | - --cache-repo=gcr.io/jenkinsxio/cache 586 | - --cache=true 587 | - --cache-dir=/workspace 588 | - name: build-and-push-go-maven2 589 | command: /kaniko/executor 590 | args: 591 | - --dockerfile=/workspace/source/builder-go-maven/Dockerfile 592 | - --destination=gcr.io/jenkinsxio/builder-go-maven:$(inputs.params.version) 593 | - --destination=gcr.io/jenkinsxio/builder-go-maven:latest 594 | - --context=/workspace/source/builder-go-maven 595 | - --cache-repo=gcr.io/jenkinsxio/cache 596 | - --cache=true 597 | - --cache-dir=/workspace 598 | - name: build-and-push-jx3 599 | command: /kaniko/executor 600 | args: 601 | - --dockerfile=/workspace/source/builder-jx/Dockerfile 602 | - --destination=gcr.io/jenkinsxio/builder-jx:$(inputs.params.version) 603 | - --destination=gcr.io/jenkinsxio/builder-jx:latest 604 | - --context=/workspace/source 605 | - --cache-repo=gcr.io/jenkinsxio/cache 606 | - --cache=true 607 | - --cache-dir=/workspace 608 | - name: build-and-push-asciidoctor 609 | command: /kaniko/executor 610 | args: 611 | - --dockerfile=/workspace/source/builder-asciidoctor/Dockerfile 612 | - --destination=gcr.io/jenkinsxio/builder-asciidoctor:$(inputs.params.version) 613 | - --destination=gcr.io/jenkinsxio/builder-asciidoctor:latest 614 | - --context=/workspace/source 615 | - --cache-repo=gcr.io/jenkinsxio/cache 616 | - --cache=true 617 | - --cache-dir=/workspace 618 | - name: build-and-push-python 619 | command: /kaniko/executor 620 | args: 621 | - --dockerfile=/workspace/source/builder-python/Dockerfile 622 | - --destination=gcr.io/jenkinsxio/builder-python:$(inputs.params.version) 623 | - --destination=gcr.io/jenkinsxio/builder-python:latest 624 | - --context=/workspace/source 625 | - --cache-repo=gcr.io/jenkinsxio/cache 626 | - --cache=true 627 | - --cache-dir=/workspace 628 | - name: build-and-push-maven-32 629 | command: /kaniko/executor 630 | args: 631 | - --dockerfile=/workspace/source/builder-maven-32/Dockerfile 632 | - --destination=gcr.io/jenkinsxio/builder-maven-32:$(inputs.params.version) 633 | - --destination=gcr.io/jenkinsxio/builder-maven-32:latest 634 | - --context=/workspace/source/builder-maven-32 635 | - --cache-repo=gcr.io/jenkinsxio/cache 636 | - --cache=true 637 | - --cache-dir=/workspace 638 | - name: build-and-push-dlang 639 | command: /kaniko/executor 640 | args: 641 | - --dockerfile=/workspace/source/builder-dlang/Dockerfile 642 | - --destination=gcr.io/jenkinsxio/builder-dlang:$(inputs.params.version) 643 | - --destination=gcr.io/jenkinsxio/builder-dlang:latest 644 | - --context=/workspace/source 645 | - --cache-repo=gcr.io/jenkinsxio/cache 646 | - --cache=true 647 | - --cache-dir=/workspace 648 | - name: build-and-push-dotnet 649 | command: /kaniko/executor 650 | args: 651 | - --dockerfile=/workspace/source/builder-dotnet/Dockerfile 652 | - --destination=gcr.io/jenkinsxio/builder-dotnet:$(inputs.params.version) 653 | - --destination=gcr.io/jenkinsxio/builder-dotnet:latest 654 | - --context=/workspace/source 655 | - --cache-repo=gcr.io/jenkinsxio/cache 656 | - --cache=true 657 | - --cache-dir=/workspace 658 | - name: build-and-push-gradle 659 | command: /kaniko/executor 660 | args: 661 | - --dockerfile=/workspace/source/builder-gradle/Dockerfile 662 | - --destination=gcr.io/jenkinsxio/builder-gradle:$(inputs.params.version) 663 | - --destination=gcr.io/jenkinsxio/builder-gradle:latest 664 | - --context=/workspace/source 665 | - --cache-repo=gcr.io/jenkinsxio/cache 666 | - --cache=true 667 | - --cache-dir=/workspace 668 | - name: build-and-push-gradle4 669 | command: /kaniko/executor 670 | args: 671 | - --dockerfile=/workspace/source/builder-gradle4/Dockerfile 672 | - --destination=gcr.io/jenkinsxio/builder-gradle4:$(inputs.params.version) 673 | - --destination=gcr.io/jenkinsxio/builder-gradle4:latest 674 | - --context=/workspace/source 675 | - --cache-repo=gcr.io/jenkinsxio/cache 676 | - --cache=true 677 | - --cache-dir=/workspace 678 | - name: build-and-push-gradle5 679 | command: /kaniko/executor 680 | args: 681 | - --dockerfile=/workspace/source/builder-gradle5/Dockerfile 682 | - --destination=gcr.io/jenkinsxio/builder-gradle5:$(inputs.params.version) 683 | - --destination=gcr.io/jenkinsxio/builder-gradle5:latest 684 | - --context=/workspace/source 685 | - --cache-repo=gcr.io/jenkinsxio/cache 686 | - --cache=true 687 | - --cache-dir=/workspace 688 | - name: build-and-push-gradle5-java11 689 | command: /kaniko/executor 690 | args: 691 | - --dockerfile=/workspace/source/builder-gradle5-java11/Dockerfile 692 | - --destination=gcr.io/jenkinsxio/builder-gradle5-java11:$(inputs.params.version) 693 | - --destination=gcr.io/jenkinsxio/builder-gradle5-java11:latest 694 | - --context=/workspace/source 695 | - --cache-repo=gcr.io/jenkinsxio/cache 696 | - --cache=true 697 | - --cache-dir=/workspace 698 | # TODO: Skipping machine learning until we have a more efficient way to build them 699 | # - name: build-and-push-machine-learning 700 | # command: /kaniko/executor 701 | # args: 702 | # - --dockerfile=/workspace/source/builder-machine-learning/Dockerfile 703 | # - --destination=gcr.io/jenkinsxio/builder-machine-learning:$(inputs.params.version) 704 | # - --destination=gcr.io/jenkinsxio/builder-machine-learning:latest 705 | # - --context=/workspace/source 706 | # - --cache-repo=gcr.io/jenkinsxio/cache 707 | # - --cache=true 708 | # - --cache-dir=/workspace 709 | # - name: build-and-push-machine-learning-gpu 710 | # command: /kaniko/executor 711 | # args: 712 | # - --dockerfile=/workspace/source/builder-machine-learning-gpu/Dockerfile 713 | # - --destination=gcr.io/jenkinsxio/builder-machine-learning-gpu:$(inputs.params.version) 714 | # - --destination=gcr.io/jenkinsxio/builder-machine-learning-gpu:latest 715 | # - --context=/workspace/source 716 | # - --cache-repo=gcr.io/jenkinsxio/cache 717 | # - --cache=true 718 | # - --cache-dir=/workspace 719 | - name: build-and-push-maven 720 | command: /kaniko/executor 721 | args: 722 | - --dockerfile=/workspace/source/builder-maven/Dockerfile 723 | - --destination=gcr.io/jenkinsxio/builder-maven:$(inputs.params.version) 724 | - --destination=gcr.io/jenkinsxio/builder-maven:latest 725 | - --context=/workspace/source 726 | - --cache-repo=gcr.io/jenkinsxio/cache 727 | - --cache=true 728 | - --cache-dir=/workspace 729 | - name: build-and-push-newman 730 | command: /kaniko/executor 731 | args: 732 | - --dockerfile=/workspace/source/builder-newman/Dockerfile 733 | - --destination=gcr.io/jenkinsxio/builder-newman:$(inputs.params.version) 734 | - --destination=gcr.io/jenkinsxio/builder-newman:latest 735 | - --context=/workspace/source 736 | - --cache-repo=gcr.io/jenkinsxio/cache 737 | - --cache=true 738 | - --cache-dir=/workspace 739 | - name: build-and-push-nodejs 740 | command: /kaniko/executor 741 | args: 742 | - --dockerfile=/workspace/source/builder-nodejs/Dockerfile 743 | - --destination=gcr.io/jenkinsxio/builder-nodejs:$(inputs.params.version) 744 | - --destination=gcr.io/jenkinsxio/builder-nodejs:latest 745 | - --context=/workspace/source 746 | - --cache-repo=gcr.io/jenkinsxio/cache 747 | - --cache=true 748 | - --cache-dir=/workspace 749 | - name: build-and-push-nodejs8x 750 | command: /kaniko/executor 751 | args: 752 | - --dockerfile=/workspace/source/builder-nodejs8x/Dockerfile 753 | - --destination=gcr.io/jenkinsxio/builder-nodejs8x:$(inputs.params.version) 754 | - --destination=gcr.io/jenkinsxio/builder-nodejs8x:latest 755 | - --context=/workspace/source 756 | - --cache-repo=gcr.io/jenkinsxio/cache 757 | - --cache=true 758 | - --cache-dir=/workspace 759 | - name: build-and-push-nodejs10x 760 | command: /kaniko/executor 761 | args: 762 | - --dockerfile=/workspace/source/builder-nodejs10x/Dockerfile 763 | - --destination=gcr.io/jenkinsxio/builder-nodejs10x:$(inputs.params.version) 764 | - --destination=gcr.io/jenkinsxio/builder-nodejs10x:latest 765 | - --context=/workspace/source 766 | - --cache-repo=gcr.io/jenkinsxio/cache 767 | - --cache=true 768 | - --cache-dir=/workspace 769 | - name: build-and-push-nodejs12x 770 | command: /kaniko/executor 771 | args: 772 | - --dockerfile=/workspace/source/builder-nodejs12x/Dockerfile 773 | - --destination=gcr.io/jenkinsxio/builder-nodejs12x:$(inputs.params.version) 774 | - --destination=gcr.io/jenkinsxio/builder-nodejs12x:latest 775 | - --context=/workspace/source 776 | - --cache-repo=gcr.io/jenkinsxio/cache 777 | - --cache=true 778 | - --cache-dir=/workspace 779 | - name: build-and-push-nodejs14x 780 | command: /kaniko/executor 781 | args: 782 | - --dockerfile=/workspace/source/builder-nodejs14x/Dockerfile 783 | - --destination=gcr.io/jenkinsxio/builder-nodejs14x:$(inputs.params.version) 784 | - --destination=gcr.io/jenkinsxio/builder-nodejs14x:latest 785 | - --context=/workspace/source 786 | - --cache-repo=gcr.io/jenkinsxio/cache 787 | - --cache=true 788 | - --cache-dir=/workspace 789 | - name: build-and-push-php5x 790 | command: /kaniko/executor 791 | args: 792 | - --dockerfile=/workspace/source/builder-php5x/Dockerfile 793 | - --destination=gcr.io/jenkinsxio/builder-php5x:$(inputs.params.version) 794 | - --destination=gcr.io/jenkinsxio/builder-php5x:latest 795 | - --context=/workspace/source 796 | - --cache-repo=gcr.io/jenkinsxio/cache 797 | - --cache=true 798 | - --cache-dir=/workspace 799 | - name: build-and-push-php7x 800 | command: /kaniko/executor 801 | args: 802 | - --dockerfile=/workspace/source/builder-php7x/Dockerfile 803 | - --destination=gcr.io/jenkinsxio/builder-php7x:$(inputs.params.version) 804 | - --destination=gcr.io/jenkinsxio/builder-php7x:latest 805 | - --context=/workspace/source 806 | - --cache-repo=gcr.io/jenkinsxio/cache 807 | - --cache=true 808 | - --cache-dir=/workspace 809 | - name: build-and-push-python2 810 | command: /kaniko/executor 811 | args: 812 | - --dockerfile=/workspace/source/builder-python2/Dockerfile 813 | - --destination=gcr.io/jenkinsxio/builder-python2:$(inputs.params.version) 814 | - --destination=gcr.io/jenkinsxio/builder-python2:latest 815 | - --context=/workspace/source 816 | - --cache-repo=gcr.io/jenkinsxio/cache 817 | - --cache=true 818 | - --cache-dir=/workspace 819 | - name: build-and-push-ruby 820 | command: /kaniko/executor 821 | args: 822 | - --dockerfile=/workspace/source/builder-ruby/Dockerfile 823 | - --destination=gcr.io/jenkinsxio/builder-ruby:$(inputs.params.version) 824 | - --destination=gcr.io/jenkinsxio/builder-ruby:latest 825 | - --context=/workspace/source 826 | - --cache-repo=gcr.io/jenkinsxio/cache 827 | - --cache=true 828 | - --cache-dir=/workspace 829 | - name: build-and-push-rust 830 | command: /kaniko/executor 831 | args: 832 | - --dockerfile=/workspace/source/builder-rust/Dockerfile 833 | - --destination=gcr.io/jenkinsxio/builder-rust:$(inputs.params.version) 834 | - --destination=gcr.io/jenkinsxio/builder-rust:latest 835 | - --context=/workspace/source 836 | - --cache-repo=gcr.io/jenkinsxio/cache 837 | - --cache=true 838 | - --cache-dir=/workspace 839 | - name: build-and-push-scala 840 | command: /kaniko/executor 841 | args: 842 | - --dockerfile=/workspace/source/builder-scala/Dockerfile 843 | - --destination=gcr.io/jenkinsxio/builder-scala:$(inputs.params.version) 844 | - --destination=gcr.io/jenkinsxio/builder-scala:latest 845 | - --context=/workspace/source 846 | - --cache-repo=gcr.io/jenkinsxio/cache 847 | - --cache=true 848 | - --cache-dir=/workspace 849 | - name: build-and-push-swift 850 | command: /kaniko/executor 851 | args: 852 | - --dockerfile=/workspace/source/builder-swift/Dockerfile 853 | - --destination=gcr.io/jenkinsxio/builder-swift:$(inputs.params.version) 854 | - --destination=gcr.io/jenkinsxio/builder-swift:latest 855 | - --context=/workspace/source 856 | - --cache-repo=gcr.io/jenkinsxio/cache 857 | - --cache=true 858 | - --cache-dir=/workspace 859 | - name: build-and-push-terraform 860 | command: /kaniko/executor 861 | args: 862 | - --dockerfile=/workspace/source/builder-terraform/Dockerfile 863 | - --destination=gcr.io/jenkinsxio/builder-terraform:$(inputs.params.version) 864 | - --destination=gcr.io/jenkinsxio/builder-terraform:latest 865 | - --context=/workspace/source 866 | - --cache-repo=gcr.io/jenkinsxio/cache 867 | - --cache=true 868 | - --cache-dir=/workspace 869 | - name: update-and-release-notes 870 | environment: 871 | - name: PUSH_LATEST 872 | value: "false" 873 | - name: GOOGLE_APPLICATION_CREDENTIALS 874 | value: /builder/home/kaniko-secret.json 875 | - name: GIT_COMMITTER_EMAIL 876 | value: jenkins-x@googlegroups.com 877 | - name: GIT_COMMITTER_NAME 878 | value: jenkins-x-bot 879 | - name: GIT_AUTHOR_EMAIL 880 | value: jenkins-x@googlegroups.com 881 | - name: GIT_AUTHOR_NAME 882 | value: jenkins-x-bot 883 | steps: 884 | # update downstream dependencies 885 | - name: update-bot 886 | image: gcr.io/jenkinsxio/builder-go-maven:$(inputs.params.version) 887 | command: ./update-bot.sh 888 | 889 | # Create the release notes 890 | - name: changelog 891 | image: gcr.io/jenkinsxio/builder-go:$(inputs.params.version) 892 | command: ./changelog.sh 893 | --------------------------------------------------------------------------------