Skip to content

Commit

Permalink
Merge branch 'master' into ubi8
Browse files Browse the repository at this point in the history
  • Loading branch information
startx-lab committed Nov 22, 2021
2 parents a1a9d1b + 7d6b77a commit 3e5ccef
Show file tree
Hide file tree
Showing 36 changed files with 1,251 additions and 1,879 deletions.
10 changes: 5 additions & 5 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@

# Global environment variables
variables:
SXDI_GIT_DOMAIN: gitlab.com
SXDI_GIT_SSH_USER: git@gitlab.com
SXGLCI_GIT_DOMAIN: gitlab.com
SXGLCI_GIT_SSH_USER: git@gitlab.com
SX_VERBOSE: "true"
SX_DEBUG: "true"
SXDI_OSTAG: "8"
SXDI_OSNAME: ubi
SXDI_OTHERTAG: ubi8
SXGLCI_OSTAG: "8"
SXGLCI_OSNAME: ubi
SXGLCI_OTHERTAG: ubi8

# Default container image
image: "quay.io/startx/runner-bash:alpine3"
Expand Down
11 changes: 7 additions & 4 deletions .gitlab/ci/startx-library.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
#!/bin/bash

#
# startx gitlab library version 0.0.1-container
#

# Display the debug checks
function DisplayCheckDebug {
Expand Down Expand Up @@ -154,7 +157,7 @@ function DoCheckMarkdown {
# Display the readthedocs genation
function DisplayCheckReadthedocs {
echo "======== CHECK READTHEDOCS GENERATION"
echo "INFO: Readthedocs is generating documentation that can be followed at https://readthedocs.org/projects/docker-images/"
echo "INFO: Readthedocs is generating documentation that can be followed at https://readthedocs.org/projects"
}

# Display the shellcheck checks
Expand Down Expand Up @@ -223,7 +226,7 @@ function DoImageBuildExecute {
local path=${1:-OS}
local dockername=${2:-fedora}
local tag=${4:-latest}
if [[ "$tag" = "master" ]]; then
if [[ "$tag" = "master" || "$tag" = "main" ]]; then
tag="latest"
fi
local quayname=${3:-fedora}
Expand Down Expand Up @@ -257,7 +260,7 @@ function DoImageBuildTest {
local path=${1:-OS}
local dockername=${2:-fedora}
local tag=${4:-latest}
if [[ "$tag" = "master" ]]; then
if [[ "$tag" = "master" || "$tag" = "main" ]]; then
tag="latest"
fi
local quayname=${3:-fedora}
Expand Down Expand Up @@ -291,7 +294,7 @@ function DoImageBuildPublish {
local path=${1:-OS}
local dockername=${2:-fedora}
local tag=${4:-latest}
if [[ "$tag" = "master" ]]; then
if [[ "$tag" = "master" || "$tag" = "main" ]]; then
tag="latest"
fi
local quayname=${3:-fedora}
Expand Down
110 changes: 103 additions & 7 deletions .gitlab/ci/startx-library.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@

#
# startx gitlab library version 0.0.1-container
#

# Default container image
image: "quay.io/startx/runner-bash:alpine3"

Expand All @@ -8,17 +13,108 @@ image: "quay.io/startx/runner-bash:alpine3"
# Library used to merge branch in a local repo
.build-image:
variables:
SXDI_PATH: 'OS' # default to OS image
SXDI_DOCKERNAME: 'fedora' # image name in docker.io registry
SXDI_QUAYNAME: 'fedora' # image name in quay.io registry
SXDI_TAG: ${CI_COMMIT_BRANCH:-latest} # image tag name
SXGLCI_PATH: 'OS' # default to OS image
SXGLCI_DOCKERNAME: 'fedora' # image name in docker.io registry
SXGLCI_QUAYNAME: 'fedora' # image name in quay.io registry
SXGLCI_TAG: ${CI_COMMIT_BRANCH:-latest} # image tag name
image: docker:latest
stage: build
services:
- docker:dind
before_script:
- "source .gitlab/ci/startx-library.sh && DoImageBuildPrepare"
script:
- DoImageBuildExecute $SXDI_PATH $SXDI_DOCKERNAME $SXDI_QUAYNAME $SXDI_TAG startx
- DoImageBuildTest $SXDI_PATH $SXDI_DOCKERNAME $SXDI_QUAYNAME $SXDI_TAG startx
- DoImageBuildPublish $SXDI_PATH $SXDI_DOCKERNAME $SXDI_QUAYNAME $SXDI_TAG startx
- DoImageBuildExecute $SXGLCI_PATH $SXGLCI_DOCKERNAME $SXGLCI_QUAYNAME $SXGLCI_TAG startx
- DoImageBuildTest $SXGLCI_PATH $SXGLCI_DOCKERNAME $SXGLCI_QUAYNAME $SXGLCI_TAG startx
- DoImageBuildPublish $SXGLCI_PATH $SXGLCI_DOCKERNAME $SXGLCI_QUAYNAME $SXGLCI_TAG startx


# Library used to merge branch in a local repo
.git-merge:
variables:
SXGLCI_BRANCH_FROM: 'devel' # default to devel branch
SXGLCI_BRANCH_TO: 'main' # default to main branch
before_script:
- |
#!/bin/bash
echo "======== Configuration of git repository"
if [[ $SX_DEBUG == true ]]; then
git config user.email "devops@startx.fr"
git config user.name "STARTX Gitlab-CI"
git config fetch.recurseSubmodules true
git config advice.detachedHead false
else
git config user.email "devops@startx.fr" &> /dev/null
git config user.name "STARTX Gitlab-CI" &> /dev/null
git config fetch.recurseSubmodules true &> /dev/null
git config advice.detachedHead false &> /dev/null
fi
echo "======== Configuration of SSH key"
if [[ $SX_DEBUG == true ]]; then
eval $(ssh-agent -s)
mkdir -p ~/.ssh && chmod 740 ~/.ssh
echo $SXGLCI_GITSSH_PRIVB64 | base64 -d > ~/.ssh/sxcm-gitlabci.id_ecdsa
chmod 600 ~/.ssh/sxcm-gitlabci.id_ecdsa
ssh-add ~/.ssh/sxcm-gitlabci.id_ecdsa
cat ~/.ssh/sxcm-gitlabci.id_ecdsa
echo "================$SXGLCI_GIT_DOMAIN"
$(ssh-keyscan $SXGLCI_GIT_DOMAIN >> ~/.ssh/known_hosts && chmod 644 ~/.ssh/known_hosts)
else
eval $(ssh-agent -s) &> /dev/null
mkdir -p ~/.ssh && chmod 740 ~/.ssh
echo $SXGLCI_GITSSH_PRIVB64 | base64 -d > ~/.ssh/sxcm-gitlabci.id_ecdsa
chmod 600 ~/.ssh/sxcm-gitlabci.id_ecdsa
ssh-add ~/.ssh/sxcm-gitlabci.id_ecdsa &> /dev/null
$(ssh-keyscan $SXGLCI_GIT_DOMAIN >> ~/.ssh/known_hosts && chmod 644 ~/.ssh/known_hosts)
fi
echo "======== Configuration of remote push to ${SXGLCI_GIT_SSH_USER}:${CI_PROJECT_PATH}.git"
if [[ $SX_DEBUG == true ]]; then
git remote set-url origin ${SXGLCI_GIT_SSH_USER}:${CI_PROJECT_PATH}.git
git fetch origin
else
git remote set-url origin ${SXGLCI_GIT_SSH_USER}:${CI_PROJECT_PATH}.git
git fetch origin &> /dev/null
fi
script: |
#!/bin/bash
echo "======== Checkout branch $SXGLCI_BRANCH_FROM"
if [[ $SX_DEBUG == true ]]; then
git checkout $SXGLCI_BRANCH_FROM
else
git checkout $SXGLCI_BRANCH_FROM &> /dev/null
fi
if [[ $? != 0 ]]; then
echo "!! Could not find origin branch $SXGLCI_BRANCH_FROM" && exit 1
fi
echo "======== Checkout branch $SXGLCI_BRANCH_TO"
if [[ $SX_DEBUG == true ]]; then
git checkout --track origin/$SXGLCI_BRANCH_TO && \
git checkout $SXGLCI_BRANCH_TO && \
git pull
else
git checkout --track origin/$SXGLCI_BRANCH_TO &> /dev/null && \
git checkout $SXGLCI_BRANCH_TO &> /dev/null && \
git pull &> /dev/null
fi
if [[ $? != 0 ]]; then
echo "!! Could not find destination branch $SXGLCI_BRANCH_TO" && exit 1
fi
echo "======== Merge branch $SXGLCI_BRANCH_FROM into $SXGLCI_BRANCH_TO"
if [[ $SX_DEBUG == true ]]; then
git merge --no-ff $SXGLCI_BRANCH_FROM
else
git merge --no-ff $SXGLCI_BRANCH_FROM &> /dev/null
fi
if [[ $? != 0 ]]; then
echo "!! Could not automaticaly merge branch $SXGLCI_BRANCH_FROM into $SXGLCI_BRANCH_TO" && exit 1
fi
echo "======== Push branch $SXGLCI_BRANCH_TO into ${SXGLCI_GIT_SSH_USER}:${CI_PROJECT_PATH}.git"
if [[ $SX_DEBUG == true ]]; then
git push origin $SXGLCI_BRANCH_TO
else
git push origin $SXGLCI_BRANCH_TO &> /dev/null
fi
if [[ $? != 0 ]]; then
echo "!! Could not automaticaly push branch $SXGLCI_BRANCH_TO"
exit 1
fi
61 changes: 4 additions & 57 deletions .gitlab/ci/step-build-application.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,69 +2,16 @@
## STAGES
##

# Build the AWX application image
build-application-awx:
stage: "build Application"
extends: .build-image
allow_failure: true
variables:
SXDI_PATH: 'Applications/awx'
SXDI_DOCKERNAME: 'app-awx'
SXDI_QUAYNAME: 'awx'
SXDI_TAG: ${SXDI_OTHERTAG}
only:
- master
- centos8
- centos7
- fc35
- fc34
- fc33
- fc32
- fc31
- fc30

# Build the phpmyadmin application image
build-application-phpmyadmin:
stage: "build Application"
extends: .build-image
allow_failure: true
variables:
SXDI_PATH: 'Applications/phpmyadmin'
SXDI_DOCKERNAME: 'app-phpmyadmin'
SXDI_QUAYNAME: 'phpmyadmin'
SXDI_TAG: ${SXDI_OTHERTAG}
only:
- master
- centos8
- centos7
- centos6
- alpine
- ubi8
- fc35
- fc34
- fc33
- fc32
- fc31
- fc30
- fc29
- fc28
- fc27
- fc26
- fc25
- fc24
- fc23
- fc22

# Build the rockmongo application image
build-application-rockmongo:
stage: "build Application"
extends: .build-image
allow_failure: true
variables:
SXDI_PATH: 'Applications/rockmongo'
SXDI_DOCKERNAME: 'app-rockmongo'
SXDI_QUAYNAME: 'rockmongo'
SXDI_TAG: ${SXDI_OTHERTAG}
SXGLCI_PATH: 'Applications/phpmyadmin'
SXGLCI_DOCKERNAME: 'app-phpmyadmin'
SXGLCI_QUAYNAME: 'phpmyadmin'
SXGLCI_TAG: ${SXGLCI_OTHERTAG}
only:
- master
- centos8
Expand Down
24 changes: 12 additions & 12 deletions .gitlab/ci/step-build-basic.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ build-apache:
stage: "build basic"
extends: .build-image
variables:
SXDI_PATH: 'Services/apache'
SXDI_DOCKERNAME: 'sv-apache'
SXDI_QUAYNAME: 'apache'
SXDI_TAG: ${SXDI_OTHERTAG}
SXGLCI_PATH: 'Services/apache'
SXGLCI_DOCKERNAME: 'sv-apache'
SXGLCI_QUAYNAME: 'apache'
SXGLCI_TAG: ${SXGLCI_OTHERTAG}
only:
- master
- centos8
Expand Down Expand Up @@ -41,10 +41,10 @@ build-nodejs:
extends: .build-image
allow_failure: true
variables:
SXDI_PATH: 'Services/nodejs'
SXDI_DOCKERNAME: 'sv-nodejs'
SXDI_QUAYNAME: 'nodejs'
SXDI_TAG: ${SXDI_OTHERTAG}
SXGLCI_PATH: 'Services/nodejs'
SXGLCI_DOCKERNAME: 'sv-nodejs'
SXGLCI_QUAYNAME: 'nodejs'
SXGLCI_TAG: ${SXGLCI_OTHERTAG}
only:
- master
- centos8
Expand Down Expand Up @@ -75,10 +75,10 @@ build-runner-bash:
extends: .build-image
allow_failure: true
variables:
SXDI_PATH: 'GitlabRunner/bash'
SXDI_DOCKERNAME: 'runner-bash'
SXDI_QUAYNAME: 'runner-bash'
SXDI_TAG: ${SXDI_OTHERTAG}
SXGLCI_PATH: 'GitlabRunner/bash'
SXGLCI_DOCKERNAME: 'runner-bash'
SXGLCI_QUAYNAME: 'runner-bash'
SXGLCI_TAG: ${SXGLCI_OTHERTAG}
only:
- master
- centos8
Expand Down
18 changes: 9 additions & 9 deletions .gitlab/ci/step-build-os.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,20 @@ build-os:
stage: "build OS"
extends: .build-image
variables:
SXDI_PATH: 'OS'
SXDI_DOCKERNAME: ${SXDI_OSNAME}
SXDI_QUAYNAME: ${SXDI_OSNAME}
SXDI_TAG: ${SXDI_OSTAG}
SXGLCI_PATH: 'OS'
SXGLCI_DOCKERNAME: ${SXGLCI_OSNAME}
SXGLCI_QUAYNAME: ${SXGLCI_OSNAME}
SXGLCI_TAG: ${SXGLCI_OSTAG}

# Build the latest of images other than fedora (master)
build-os-latest:
stage: "build OS"
extends: .build-image
variables:
SXDI_PATH: 'OS'
SXDI_DOCKERNAME: ${SXDI_OSNAME}
SXDI_QUAYNAME: ${SXDI_OSNAME}
SXDI_TAG: latest
SXGLCI_PATH: 'OS'
SXGLCI_DOCKERNAME: ${SXGLCI_OSNAME}
SXGLCI_QUAYNAME: ${SXGLCI_OSNAME}
SXGLCI_TAG: latest
only:
- centos8
- alpine
Expand All @@ -35,4 +35,4 @@ container_scanning:
variables:
GIT_STRATEGY: fetch
SECURE_LOG_LEVEL: debug
DOCKER_IMAGE: "quay.io/startx/${SXDI_OSNAME}:${SXDI_OSTAG}"
DOCKER_IMAGE: "quay.io/startx/${SXGLCI_OSNAME}:${SXGLCI_OSTAG}"

0 comments on commit 3e5ccef

Please sign in to comment.