Skip to content

Commit 353cb4e

Browse files
authored
Merge pull request #362 from oracle/promote-docker-hub
Build in Wercker, push for test, test, and then on success push develop to Docker Hub
2 parents 6259044 + f364910 commit 353cb4e

File tree

2 files changed

+23
-34
lines changed

2 files changed

+23
-34
lines changed

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
#
44
# HOW TO BUILD THIS IMAGE
55
# -----------------------
6-
# Run:
7-
# $ docker build -t weblogic-kubernetes-operator:latest .
6+
# Run:
7+
# $ docker build -t weblogic-kubernetes-operator:latest .
88
#
99
# Pull base image
1010
# From the Docker store

wercker.yml

Lines changed: 21 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ build:
2929
code: |
3030
echo "Building Oracle WebLogic Server Kubernetes Operator..."
3131
echo "The branch and commit id are $WERCKER_GIT_BRANCH, $WERCKER_GIT_COMMIT"
32+
export IMAGE_TAG_OPERATOR="${WERCKER_GIT_BRANCH//[_\/]/-}"
33+
if [ "$IMAGE_TAG_OPERATOR" = "master" ]; then
34+
export IMAGE_TAG_OPERATOR="1.0"
35+
fi
3236
- script:
3337
name: Install pre-reqs
3438
code: |
@@ -37,38 +41,26 @@ build:
3741
goals: clean install
3842
version: 3.5.2
3943
cache_repo: true
40-
- script:
41-
name: Copy built-artifacts into the image
42-
code: |
43-
mkdir /operator
44-
mkdir /operator/lib
45-
cp -R src/scripts/* /operator/
46-
cp operator/target/weblogic-kubernetes-operator-1.0.jar /operator/weblogic-kubernetes-operator.jar
47-
cp operator/target/lib/*.jar /operator/lib/
48-
export IMAGE_TAG_OPERATOR="${IMAGE_TAG_OPERATOR:-${WERCKER_GIT_BRANCH//[_\/]/-}}"
49-
if [ "$IMAGE_TAG_OPERATOR" = "develop" ]; then
50-
export IMAGE_TAG_OPERATOR="latest"
51-
elif [ "$IMAGE_TAG_OPERATOR" = "master" ]; then
52-
export IMAGE_TAG_OPERATOR="1.0"
53-
fi
54-
- script:
55-
name: Remove things we do not want in the Docker image in order to reduce size of image
56-
code: |
57-
rpm -e --nodeps tar
58-
rpm -e --nodeps gzip
59-
yum clean all
60-
rm -rf /var/cache/yum
44+
- internal/docker-build:
45+
dockerfile: Dockerfile
46+
image-name: $REPO_REPOSITORY:$IMAGE_TAG_OPERATOR
47+
no-cache: true
48+
registry-auth-config: |
49+
{
50+
"https://index.docker.io/v1/": {
51+
"username": "${DOCKER_USERNAME}",
52+
"password": "${DOCKER_PASSWORD}"
53+
}
54+
}
6155
# push the image to Docker using the GIT branch as the tag
6256
# this image needs to be available to the integration-test pipeline for testing
6357
- internal/docker-push:
58+
image-name: $REPO_REPOSITORY:$IMAGE_TAG_OPERATOR
6459
username: $REPO_USERNAME
6560
password: $REPO_PASSWORD
6661
repository: $REPO_REPOSITORY
6762
registry: $REPO_REGISTRY
6863
tag: $IMAGE_TAG_OPERATOR
69-
working-dir: "/operator"
70-
cmd: "operator.sh"
71-
env: "PATH=$PATH:/operator"
7264

7365
# This pipeline runs the integration tests against a k8s cluster on OCI.
7466
command-timeout: 60
@@ -177,9 +169,7 @@ integration-test:
177169
178170
export IMAGE_NAME_OPERATOR="${REPO_REPOSITORY}"
179171
export IMAGE_TAG_OPERATOR="${WERCKER_GIT_BRANCH//[_\/]/-}"
180-
if [ "$IMAGE_TAG_OPERATOR" = "develop" ]; then
181-
export IMAGE_TAG_OPERATOR="latest"
182-
elif [ "$IMAGE_TAG_OPERATOR" = "master" ]; then
172+
if [ "$IMAGE_TAG_OPERATOR" = "master" ]; then
183173
export IMAGE_TAG_OPERATOR="1.0"
184174
fi
185175
export IMAGE_PULL_POLICY_OPERATOR="Always"
@@ -277,9 +267,7 @@ integration-test-java:
277267
278268
export IMAGE_NAME_OPERATOR="${REPO_REPOSITORY}"
279269
export IMAGE_TAG_OPERATOR="${WERCKER_GIT_BRANCH//[_\/]/-}"
280-
if [ "$IMAGE_TAG_OPERATOR" = "develop" ]; then
281-
export IMAGE_TAG_OPERATOR="latest"
282-
elif [ "$IMAGE_TAG_OPERATOR" = "master" ]; then
270+
if [ "$IMAGE_TAG_OPERATOR" = "master" ]; then
283271
export IMAGE_TAG_OPERATOR="1.0"
284272
fi
285273
export IMAGE_PULL_POLICY_OPERATOR="Always"
@@ -330,8 +318,9 @@ quality:
330318
promote-image:
331319
steps:
332320
- internal/docker-push:
333-
username: $REPO_USERNAME
334-
password: $REPO_PASSWORD
321+
image-name: $REPO_REPOSITORY:$IMAGE_TAG_OPERATOR
322+
username: $DOCKER_USERNAME
323+
password: $DOCKER_PASSWORD
335324
repository: oracle/weblogic-kubernetes-operator
336325
tag: $IMAGE_TAG_OPERATOR
337326

0 commit comments

Comments
 (0)