111 lines
3.3 KiB
YAML
111 lines
3.3 KiB
YAML
---
|
|
kind: pipeline
|
|
name: SonarQube check
|
|
|
|
image_pull_secrets:
|
|
- dockerconfig
|
|
|
|
trigger:
|
|
branch:
|
|
- develop
|
|
event:
|
|
- push
|
|
- custom
|
|
|
|
steps:
|
|
- name: SonarQube check
|
|
image: sonarsource/sonar-scanner-cli
|
|
environment:
|
|
SONAR_PROJECT:
|
|
from_secret: sonarProjectId
|
|
SONAR_TOKEN:
|
|
from_secret: sonarToken
|
|
SONAR_HOST:
|
|
from_secret: sonarHost
|
|
TEST: test
|
|
|
|
commands:
|
|
- sonar-scanner -Dsonar.projectKey=$${SONAR_PROJECT} -Dsonar.sources=. -Dsonar.host.url=$${SONAR_HOST} -Dsonar.login=$${SONAR_TOKEN}
|
|
depends_on:
|
|
- clone
|
|
|
|
---
|
|
kind: pipeline
|
|
name: Build image
|
|
|
|
image_pull_secrets:
|
|
- dockerconfig
|
|
|
|
trigger:
|
|
ref:
|
|
- refs/heads/testing
|
|
- refs/heads/master
|
|
- refs/tags/*
|
|
|
|
steps:
|
|
- name: Prepare image
|
|
image: mxfox.ru/mxfox/fox-web-basic:latest
|
|
commands:
|
|
- |
|
|
apt-get update -y
|
|
apt-get install curl -y
|
|
cd /tmp
|
|
curl -sS https://getcomposer.org/installer -o composer-setup.php
|
|
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
|
|
DEBIAN_FRONTEND=noninteractive TZ=Europe/Moscow apt-get -y install tzdata
|
|
cd -
|
|
- composer install
|
|
- |
|
|
find . -name "*~" -prune -exec rm -rf '{}' \;
|
|
find . -name "*.bak" -prune -exec rm -rf '{}' \;
|
|
find . -name "*.old" -prune -exec rm -rf '{}' \;
|
|
find . -name ".git" -prune -exec rm -rf '{}' \;
|
|
find . -name ".settings" -prune -exec rm -rf '{}' \;
|
|
find . -name ".buildpath" -prune -exec rm -rf '{}' \;
|
|
find . -name ".project" -prune -exec rm -rf '{}' \;
|
|
find . -name "README.*" -prune -exec rm -rf '{}' \;
|
|
find . -name "*.md" -prune -exec rm -rf '{}' \;
|
|
find . -name "composer.*" -prune -exec rm -rf '{}' \;
|
|
find . -name ".travis*" -prune -exec rm -rf '{}' \;
|
|
find . -name "installed.json" -prune -exec rm -rf '{}' \;
|
|
find . -name "*.sample" -prune -exec rm -rf '{}' \;
|
|
find . -type d ! -path './.git/**' ! -path './static/**' ! -path "./static" ! -path ./*/modules/*/static* -exec bash -c 'test -f {}/.htaccess && echo -n "[ SKIP ] " || (cp ./docker-build/.htaccess {} && echo -n "[ ADD ] ") && echo {}/.htaccess' \;
|
|
cp docker-build/Dockerfile Dockerfile
|
|
rm -f composer.*
|
|
|
|
- name: Build docker image
|
|
image: mxfox.ru/mxfox/docker-dind.buildx:latest
|
|
privileged: true
|
|
environment:
|
|
DOCKER_AUTH:
|
|
from_secret: dockerconfig
|
|
IMAGE_PREFIX: mxfox.ru/mxfox/chimera-mk2-core
|
|
|
|
commands:
|
|
- buildx-bgstart.sh
|
|
- echo $${DOCKER_AUTH} > ~/.docker/config.json
|
|
- echo "CB ${CI_COMMIT_BRANCH}"
|
|
- echo "DT ${DRONE_TAG}"
|
|
- |
|
|
if [ -n "${DRONE_TAG}" ]
|
|
then
|
|
export xBuildSuffix=" -t $${IMAGE_PREFIX}:${DRONE_TAG} -t $${IMAGE_PREFIX}:latest --push"
|
|
else
|
|
export xBuildSuffix=" -t $${IMAGE_PREFIX}:${CI_COMMIT_BRANCH}-${CI_BUILD_NUMBER}-${DRONE_COMMIT_SHA:0:10} -t $${IMAGE_PREFIX}:${CI_COMMIT_BRANCH} --push"
|
|
fi
|
|
|
|
- docker buildx build --platform linux/amd64,linux/arm64 . $${xBuildSuffix}
|
|
|
|
---
|
|
kind: pipeline
|
|
name: Export code
|
|
image_pull_secrets:
|
|
- dockerconfig
|
|
trigger:
|
|
ref:
|
|
- refs/tags/*
|
|
steps:
|
|
- name: Export code
|
|
image: mxfox.ru/mxfox/fox-web-basic:latest
|
|
commands:
|
|
- echo "Not implemented yet" |