Skip to content

Commit

Permalink
feat: Used one dockerfile to simplify build and release
Browse files Browse the repository at this point in the history
Closes #5
  • Loading branch information
devatherock committed Jun 20, 2023
1 parent 5e6e3d9 commit f3177f8
Show file tree
Hide file tree
Showing 9 changed files with 101 additions and 105 deletions.
97 changes: 37 additions & 60 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,32 +59,16 @@ jobs:
paths:
- SyncGitRepos.jar

docker_build_dry_run_circle:
docker_build_dry_run:
executor: docker-executor
steps:
- checkout
- setup_remote_docker
- attach_workspace:
at: ~/git-sync
- run: docker build -f docker/CircleCI.Dockerfile .
docker_build_dry_run_drone:
executor: docker-executor
steps:
- checkout
- setup_remote_docker
- attach_workspace:
at: ~/git-sync
- run: docker build -f docker/Drone.Dockerfile .
docker_build_dry_run_vela:
executor: docker-executor
steps:
- checkout
- setup_remote_docker
- attach_workspace:
at: ~/git-sync
- run: docker build -f docker/Vela.Dockerfile .
- run: docker build -f docker/Dockerfile .

publish_circle:
publish:
executor: docker-executor
steps:
- checkout
Expand All @@ -93,39 +77,38 @@ jobs:
at: ~/git-sync
- run: |
TAG=${CIRCLE_SHA1:0:8}
docker build -t devatherock/git-sync:$TAG -f docker/CircleCI.Dockerfile .
docker tag devatherock/git-sync:$TAG devatherock/git-sync:latest
docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
docker push devatherock/git-sync:$TAG
docker push devatherock/git-sync:latest
publish_drone:
executor: docker-executor
steps:
- checkout
- setup_remote_docker
- attach_workspace:
at: ~/git-sync
- run: |
TAG=${CIRCLE_SHA1:0:8}
docker build -t devatherock/drone-git-sync:$TAG -f docker/Drone.Dockerfile .
docker build -t devatherock/drone-git-sync:$TAG -f docker/Dockerfile .
docker tag devatherock/drone-git-sync:$TAG devatherock/drone-git-sync:latest
docker tag devatherock/drone-git-sync:$TAG devatherock/vela-git-sync:$TAG
docker tag devatherock/drone-git-sync:$TAG devatherock/vela-git-sync:latest
docker tag devatherock/drone-git-sync:$TAG devatherock/git-sync:$TAG
docker tag devatherock/drone-git-sync:$TAG devatherock/git-sync:latest
docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
docker push devatherock/drone-git-sync:$TAG
docker push devatherock/drone-git-sync:latest
publish_vela:
docker push devatherock/vela-git-sync:$TAG
docker push devatherock/vela-git-sync:latest
docker push devatherock/git-sync:$TAG
docker push devatherock/git-sync:latest
publish_release:
executor: docker-executor
steps:
- checkout
- setup_remote_docker
- attach_workspace:
at: ~/git-sync
- run: |
TAG=${CIRCLE_SHA1:0:8}
docker build -t devatherock/vela-git-sync:$TAG -f docker/Vela.Dockerfile .
docker tag devatherock/vela-git-sync:$TAG devatherock/vela-git-sync:latest
TAG=${CIRCLE_TAG#v}
DEV_TAG=${CIRCLE_SHA1:0:8}
docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
docker pull devatherock/drone-git-sync:$DEV_TAG
docker tag devatherock/drone-git-sync:$DEV_TAG devatherock/drone-git-sync:$TAG
docker tag devatherock/drone-git-sync:$TAG devatherock/vela-git-sync:$TAG
docker tag devatherock/drone-git-sync:$TAG devatherock/git-sync:$TAG
docker push devatherock/drone-git-sync:$TAG
docker push devatherock/vela-git-sync:$TAG
docker push devatherock/vela-git-sync:latest
docker push devatherock/git-sync:$TAG
notify:
docker:
Expand Down Expand Up @@ -160,29 +143,33 @@ workflows:
only: master
requires:
- test
- publish_circle:
- publish:
context:
- docker-credentials
requires:
- groovy_script_to_jar
- publish_drone:
- notify:
context:
- docker-credentials
- slack-webhook
requires:
- groovy_script_to_jar
- publish_vela:
- publish
release:
jobs:
- publish_release:
context:
- docker-credentials
requires:
- groovy_script_to_jar
filters:
branches:
only: non-existent-branch
tags:
only: /^v[0-9\.]+$/
- notify:
context:
- docker-credentials
- slack-webhook
requires:
- publish_circle
- publish_drone
- publish_vela
- publish_release
pr_check:
jobs:
- test:
Expand All @@ -199,18 +186,8 @@ workflows:
ignore: master
requires:
- test
- docker_build_dry_run_circle:
context:
- docker-credentials
requires:
- groovy_script_to_jar
- docker_build_dry_run_drone:
context:
- docker-credentials
requires:
- groovy_script_to_jar
- docker_build_dry_run_vela:
- docker_build_dry_run:
context:
- docker-credentials
requires:
- groovy_script_to_jar
- groovy_script_to_jar
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## [Unreleased]
### Changed
- test([#9](https://github.com/devatherock/git-sync/issues/9)): Added unit tests
- feat([#5](https://github.com/devatherock/git-sync/issues/5)): Used one dockerfile to simplify build and release

## [1.0.7] - 2021-01-16
### Changed
Expand Down
15 changes: 0 additions & 15 deletions docker/CircleCI.Dockerfile

This file was deleted.

11 changes: 4 additions & 7 deletions docker/Drone.Dockerfile → docker/Dockerfile
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
FROM openjdk:8-jre-alpine

MAINTAINER 'Devaprasadh.Xavier <devatherock@gmail.com>'

ENV PLUGIN_TARGET_BRANCH master
ENV PLUGIN_DEBUG false

ADD SyncGitRepos.jar /scripts/SyncGitRepos.jar
ADD docker/drone-entry-point.sh /scripts/entry-point.sh
LABEL maintainer="devatherock@gmail.com>"

# Install git - Set the user as root for apk
USER root
RUN apk --update add git openssh

ADD SyncGitRepos.jar /scripts/SyncGitRepos.jar
ADD docker/entry-point.sh /scripts/entry-point.sh

ENTRYPOINT sh /scripts/entry-point.sh
15 changes: 0 additions & 15 deletions docker/Vela.Dockerfile

This file was deleted.

2 changes: 0 additions & 2 deletions docker/circle-entry-point.sh

This file was deleted.

2 changes: 0 additions & 2 deletions docker/drone-entry-point.sh

This file was deleted.

59 changes: 59 additions & 0 deletions docker/entry-point.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/bin/sh

TARGET_BRANCH=master
if [ ! -z "$PLUGIN_TARGET_BRANCH" ]; then
TARGET_BRANCH=$PLUGIN_TARGET_BRANCH
elif [ ! -z "$PARAMETER_TARGET_BRANCH" ]; then
TARGET_BRANCH=$PARAMETER_TARGET_BRANCH
fi

ENABLE_DEBUG=false
if [ "$PLUGIN_DEBUG" = "true" ] || [ "$PARAMETER_DEBUG" = "true" ]; then
ENABLE_DEBUG=true
fi

if [ ! -z "$PLUGIN_TARGET_REPO" ]; then
TARGET_REPO=$PLUGIN_TARGET_REPO
elif [ ! -z "$PARAMETER_TARGET_REPO" ]; then
TARGET_REPO=$PARAMETER_TARGET_REPO
fi

if [ ! -z "$PLUGIN_START_COMMIT" ]; then
START_COMMIT=$PLUGIN_START_COMMIT
elif [ ! -z "$PARAMETER_START_COMMIT" ]; then
START_COMMIT=$PARAMETER_START_COMMIT
fi

if [ ! -z "$DRONE_COMMIT_AUTHOR" ]; then
USERNAME=$DRONE_COMMIT_AUTHOR
elif [ ! -z "$BUILD_AUTHOR" ]; then
USERNAME=$BUILD_AUTHOR
elif [ ! -z "$CIRCLE_USERNAME" ]; then
USERNAME=$CIRCLE_USERNAME
fi

if [ ! -z "$DRONE_COMMIT_AUTHOR_EMAIL" ]; then
EMAIL=$DRONE_COMMIT_AUTHOR_EMAIL
elif [ ! -z "$BUILD_AUTHOR_EMAIL" ]; then
EMAIL=$BUILD_AUTHOR_EMAIL
fi

ALL_OPTS="-tb $TARGET_BRANCH --debug $ENABLE_DEBUG -t $GIT_SYNC_TOKEN"

if [ ! -z "$TARGET_REPO" ]; then
ALL_OPTS="$ALL_OPTS -tr $TARGET_REPO"
fi

if [ ! -z "$START_COMMIT" ]; then
ALL_OPTS="$ALL_OPTS -sc $START_COMMIT"
fi

if [ ! -z "$USERNAME" ]; then
ALL_OPTS="$ALL_OPTS -n $USERNAME"
fi

if [ ! -z "$EMAIL" ]; then
ALL_OPTS="$ALL_OPTS -e $EMAIL"
fi

java -jar /scripts/SyncGitRepos.jar $ALL_OPTS
4 changes: 0 additions & 4 deletions docker/vela-entry-point.sh

This file was deleted.

0 comments on commit f3177f8

Please sign in to comment.