feat(ci): add gitlab ci
This commit is contained in:
parent
584bb5ca4f
commit
0aacce494f
1 changed files with 57 additions and 0 deletions
57
.gitlab-ci.yml
Normal file
57
.gitlab-ci.yml
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
stages:
|
||||
- build
|
||||
|
||||
variables:
|
||||
IMAGE_NAME: $DOCKERHUB_USERNAME/discordsoundbot-vib
|
||||
DOCKER_DRIVER: overlay2
|
||||
DOCKER_TLS_CERTDIR: ""
|
||||
|
||||
docker-build:
|
||||
stage: build
|
||||
image: docker:24.0.5
|
||||
services:
|
||||
- docker:24.0.5-dind
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH
|
||||
before_script:
|
||||
- echo "$DOCKERHUB_TOKEN" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
|
||||
script:
|
||||
- |
|
||||
if [ "$CI_COMMIT_REF_NAME" == "main" ]; then
|
||||
export TAG="main"
|
||||
export VERSION="1.1.0"
|
||||
export CHANNEL="stable"
|
||||
elif [[ "$CI_COMMIT_REF_NAME" == "feature/nightly" ]] || [[ "$CI_COMMIT_REF_NAME" == "nightly" ]]; then
|
||||
export TAG="nightly"
|
||||
export VERSION="1.1.0-nightly"
|
||||
export CHANNEL="nightly"
|
||||
else
|
||||
export CLEAN_TAG=$(echo "$CI_COMMIT_REF_NAME" | sed 's/\//-/g')
|
||||
export TAG="$CLEAN_TAG"
|
||||
export VERSION="1.1.0-dev"
|
||||
export CHANNEL="dev"
|
||||
fi
|
||||
|
||||
- echo "Building for channel $CHANNEL with version $VERSION and tag $TAG"
|
||||
|
||||
# Build
|
||||
- docker pull $IMAGE_NAME:$TAG || true
|
||||
- >
|
||||
docker build
|
||||
--cache-from $IMAGE_NAME:$TAG
|
||||
--build-arg VITE_BUILD_CHANNEL=$CHANNEL
|
||||
--build-arg VITE_APP_VERSION=$VERSION
|
||||
-t $IMAGE_NAME:$CI_COMMIT_SHA
|
||||
-t $IMAGE_NAME:$TAG
|
||||
.
|
||||
|
||||
# Push
|
||||
- docker push $IMAGE_NAME:$CI_COMMIT_SHA
|
||||
- docker push $IMAGE_NAME:$TAG
|
||||
|
||||
# If main branch, also tag and push as latest
|
||||
- |
|
||||
if [ "$CI_COMMIT_REF_NAME" == "main" ]; then
|
||||
docker tag $IMAGE_NAME:$TAG $IMAGE_NAME:latest
|
||||
docker push $IMAGE_NAME:latest
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue