Files
yml/pipelines/build-container.yml

77 lines
2.1 KiB
YAML

stages:
- versioning
- build
version:
image: registry.durp.info/ruby:latest
stage: versioning
script:
- if [ -z "$VERSION" ]; then
- VERSION="1"
- fi
- export COMMIT_COUNT=$(git rev-list --count HEAD)
- export BUILD_NUMBER=$CI_PIPELINE_ID
- export VERSION="$VERSION.$COMMIT_COUNT.$BUILD_NUMBER"
- echo "VERSION=$VERSION" > version.env
- cat version.env
# End of version-number.sh
artifacts:
reports:
dotenv: version.env
build-container:
image: registry.durp.info/docker:20.10.16
variables:
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
DOCKER_HOST: tcp://docker:2375
#DOCKER_TLS_CERTDIR: "/certs"
services:
- docker:20.10.16-dind
stage: build
script:
# Begin of docker-login.sh
- |
#login to docker
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY/$CI_PROJECT_PATH
# End of docker-login.sh
# Begin of docker-build.sh
- |
#Build Docker Container
docker build -t $CI_REGISTRY/$CI_PROJECT_PATH:$VERSION -t $CI_REGISTRY/$CI_PROJECT_PATH:latest .
docker push "$CI_REGISTRY/$CI_PROJECT_PATH:latest"
docker push "$CI_REGISTRY/$CI_PROJECT_PATH:$VERSION"
# End of docker-build.sh
needs:
- job: version
artifacts: true
only:
- main
HelmChart:
image: registry.durp.info/dtzar/helm-kubectl
stage: build
script:
# Begin of helm-addrepo.sh
- |
#Helm repo add
helm repo add --username gitlab-ci-token --password ${CI_JOB_TOKEN} ${CI_PROJECT_NAME} ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/stable
# End of helm-addrepo.sh
# Begin of helm-package.sh
- |
#Helm Package
for chart in charts/*; do
if [ -d "$chart" ]; then
helm package "$chart" -d ./packages --version ${VERSION}
fi
done
# End of helm-package.sh
# Begin of helm-push.sh
- "#Helm Push \n \nhelm plugin install https://github.com/chartmuseum/helm-push\nfor chart in packages/*; do\n helm cm-push ./$chart ${CI_PROJECT_NAME}\ndone\n"
# End of helm-push.sh
needs:
- job: version
artifacts: true
only:
- main