feat(Templates): Ideal eXXcellent Pipeline
This commit is contained in:
parent
dd34b9884a
commit
4a22b664ab
@ -8,10 +8,9 @@ Needs a build container on the path `image.tar`. Use one of the Container build
|
|||||||
.Variables
|
.Variables
|
||||||
|===
|
|===
|
||||||
|Name |Description | Default Value
|
|Name |Description | Default Value
|
||||||
| CONTAINER_REGISTRY | The address of the Container Registry | $CI_REGISTRY
|
| CONTAINER_REGISTRY | Url to the remote Registry | $CI_REGISTRY_IMAGE
|
||||||
| CONTAINER_REGISTRY_IMAGE | The address of the project’s Container Registry. | $CI_REGISTRY_IMAGE
|
|
||||||
| CONTAINER_REGISTRY_USER | the user that should be used | $CI_REGISTRY_USER
|
| CONTAINER_REGISTRY_USER | the user that should be used | $CI_REGISTRY_USER
|
||||||
| CONTAINER_REGISTRY_PASSWORD | the password for the remote registry | $CI_REGISTRY_PASSWORD
|
| CONTAINER_REGISTRY_PASSWORD | the passwort for the remote registry | $CI_REGISTRY_PASSWORD
|
||||||
| EXTRA_PATH | Extra path that should be between the registry path and the image tag | ""
|
| EXTRA_PATH | Extra path that should be between the registry path and the image tag | ""
|
||||||
| IMAGE_TAG | the Tag the image should be found on | Depends on the current path. Look at the rules of the Job.
|
| IMAGE_TAG | the Tag the image should be found on | Depends on the current path. Look at the rules of the Job.
|
||||||
|===
|
|===
|
||||||
|
|||||||
@ -28,8 +28,6 @@ Wenn 0 benutzt wird, läuft die CI weiter.
|
|||||||
Benutzte `allow_failure: true` damit die CI weiter läuft aber ein Failure angezeigt wird.
|
Benutzte `allow_failure: true` damit die CI weiter läuft aber ein Failure angezeigt wird.
|
||||||
| -
|
| -
|
||||||
|GRADLE_CLI_OPTS | Zusätzliche CLI Opts für Gradle | ""
|
|GRADLE_CLI_OPTS | Zusätzliche CLI Opts für Gradle | ""
|
||||||
|
|
||||||
|KANIKO_EXTRA_ARGS | Extra Arguments for the build of the image with Kaniko | ""
|
|
||||||
|===
|
|===
|
||||||
|
|
||||||
.container scan template
|
.container scan template
|
||||||
|
|||||||
@ -1,8 +1,14 @@
|
|||||||
include:
|
include:
|
||||||
- '/templates/java/maven/maven-dependencies.gitlab-ci.yml'
|
- '/templates/java/maven/maven-dependencies.gitlab-ci.yml'
|
||||||
- '/templates/java/maven/maven-build.gitlab-ci.yml'
|
- '/templates/java/maven/maven-build.gitlab-ci.yml'
|
||||||
- '/templates/java/maven/maven-verify.gitlab-ci.yml'
|
- '/templates/java/maven/maven-verify.gitlab-ci.yml'
|
||||||
- '/templates/java/maven/maven-database-diff.gitlab-ci.yml'
|
- '/templates/java/maven/maven-database-diff.gitlab-ci.yml'
|
||||||
|
- '/templates/static-analysis/repo-cve-scan-trivy.gitlab-ci.yml'
|
||||||
|
- '/templates/static-analysis/sonar.gitlab-ci.yml'
|
||||||
|
|
||||||
|
# todo doc welche Variablen gesetzt werden müssen.before_script:
|
||||||
|
# variables:
|
||||||
|
# SONAR_PROJECT_KEY: "gilde.ci.cd.restservice:java-backend-template"
|
||||||
|
|
||||||
Dependencies-Java:
|
Dependencies-Java:
|
||||||
extends: .maven-dependencies
|
extends: .maven-dependencies
|
||||||
@ -30,10 +36,8 @@ Repo-CVE-Scan:
|
|||||||
allow_failure: true
|
allow_failure: true
|
||||||
extends: .repo-cve-scan-trivy
|
extends: .repo-cve-scan-trivy
|
||||||
|
|
||||||
sonar:
|
Sonar:
|
||||||
extends: .sonar-maven
|
extends: .sonar-maven
|
||||||
needs:
|
needs:
|
||||||
- job: "Build-Java"
|
- job: "Build-Java"
|
||||||
artifacts: true
|
artifacts: true
|
||||||
variables:
|
|
||||||
SONAR_PROJECT_KEY: "gilde.ci.cd.restservice:java-backend-template"
|
|
||||||
@ -30,14 +30,8 @@
|
|||||||
entrypoint: [ "" ]
|
entrypoint: [ "" ]
|
||||||
variables:
|
variables:
|
||||||
DOCKERFILE_LOCATION: $CI_PROJECT_DIR/Dockerfile
|
DOCKERFILE_LOCATION: $CI_PROJECT_DIR/Dockerfile
|
||||||
REGISTRY_MIRROR: --registry-mirror nexus.corp.exxcellent.de:18000 --skip-tls-verify-registry nexus.corp.exxcellent.de:18000
|
REGISTRY_MIRROR: --registry-mirror nexus.corp.exxcellent.de:18000 --skip-tls-verify-registry nexus.corp.exxcellent.de:18000 --skip-tls-verify
|
||||||
script:
|
script:
|
||||||
- >-
|
- mkdir -p /kaniko/.docker
|
||||||
/kaniko/executor
|
- echo "{\"auths\":{\"$DOCKER_REGISTRY\":{\"username\":\"$DOCKER_REGISTRY_USER\",\"password\":\"$DOCKER_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
|
||||||
--context $CONTEXT_LOCATION
|
- /kaniko/executor --context $CONTEXT_LOCATION --dockerfile $DOCKERFILE_LOCATION --no-push --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA $EXTRA_ARGS $REGISTRY_MIRROR --tarPath image.tar
|
||||||
--dockerfile $DOCKERFILE_LOCATION
|
|
||||||
--no-push
|
|
||||||
--destination $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
|
|
||||||
$EXTRA_ARGS
|
|
||||||
$REGISTRY_MIRROR
|
|
||||||
--tarPath image.tar
|
|
||||||
|
|||||||
@ -4,8 +4,7 @@
|
|||||||
name: quay.io/containers/skopeo:v1.5.2
|
name: quay.io/containers/skopeo:v1.5.2
|
||||||
entrypoint: [ "" ]
|
entrypoint: [ "" ]
|
||||||
variables:
|
variables:
|
||||||
CONTAINER_REGISTRY: $CI_REGISTRY
|
CONTAINER_REGISTRY: $CI_REGISTRY_IMAGE
|
||||||
CONTAINER_REGISTRY_IMAGE: $CI_REGISTRY_IMAGE
|
|
||||||
CONTAINER_REGISTRY_USER: $CI_REGISTRY_USER
|
CONTAINER_REGISTRY_USER: $CI_REGISTRY_USER
|
||||||
CONTAINER_REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD
|
CONTAINER_REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD
|
||||||
EXTRA_PATH: ""
|
EXTRA_PATH: ""
|
||||||
@ -19,11 +18,9 @@
|
|||||||
EXTRA_PATH: "/snapshot"
|
EXTRA_PATH: "/snapshot"
|
||||||
- if: $CI_COMMIT_REF_NAME ~= "feat"
|
- if: $CI_COMMIT_REF_NAME ~= "feat"
|
||||||
variables:
|
variables:
|
||||||
IMAGE_TAG: $CI_COMMIT_SHORT_SHA
|
IMAGE_TAG: "latest"
|
||||||
EXTRA_PATH: "/feat/$CI_COMMIT_REF_NAME"
|
EXTRA_PATH: "/feat/$CI_COMMIT_REF_NAME"
|
||||||
- when: never
|
- when: never
|
||||||
script:
|
script:
|
||||||
- skopeo login --username $CONTAINER_REGISTRY_USER --password $CONTAINER_REGISTRY_PASSWORD $CONTAINER_REGISTRY_IMAGE --tls-verify=false
|
- skopeo login --username $CONTAINER_REGISTRY_USER --password $CONTAINER_REGISTRY_PASSWORD $CONTAINER_REGISTRY --tls-verify=false
|
||||||
- skopeo copy "docker-archive:image.tar" "docker://${CONTAINER_REGISTRY_IMAGE}${EXTRA_PATH}:${IMAGE_TAG}" --dest-tls-verify=false
|
- skopeo copy "docker-archive:image.tar" "docker://${CONTAINER_REGISTRY}${EXTRA_PATH}:${IMAGE_TAG}" --dest-tls-verify=false
|
||||||
|
|
||||||
#TODO wir müssen noch den aktuell Tag bekommen damit wir den setzen können. (in default oder feat ausgeführt wird)
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
.container-scan-trivy:
|
.container-scan-trivy:
|
||||||
image:
|
image:
|
||||||
name: docker.io/aquasec/trivy:0.24.2
|
name: docker.io/aquasec/trivy:0.25.0
|
||||||
entrypoint: [ "" ]
|
entrypoint: [ "" ]
|
||||||
stage: verify
|
stage: verify
|
||||||
variables:
|
variables:
|
||||||
|
|||||||
@ -2,7 +2,10 @@
|
|||||||
stage: build
|
stage: build
|
||||||
image: $GRADLE_IMAGE
|
image: $GRADLE_IMAGE
|
||||||
script:
|
script:
|
||||||
# todo increase version like maven set. OR Define Gradle skript to use ENV
|
# todo increase version like maven set. OR Define Gradle skript to use ENV Ideen:
|
||||||
|
# wir überlassen den Projekten das wie sie die Version hoch zählen.
|
||||||
|
# wir definieren eine Variable die beim aufruf von gradle gesetzt werden kann um die Version zu bekommen.
|
||||||
|
# wir sagen das hier das plugin von palantir benutzt werden soll.
|
||||||
- "./gradlew --build-cache assemble $GRADLE_CLI_OPTS"
|
- "./gradlew --build-cache assemble $GRADLE_CLI_OPTS"
|
||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 2 weeks
|
expire_in: 2 weeks
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
.repo-cve-scan-trivy:
|
.repo-cve-scan-trivy:
|
||||||
image:
|
image:
|
||||||
name: docker.io/aquasec/trivy:0.25.1
|
name: docker.io/aquasec/trivy:0.25.0
|
||||||
entrypoint: [ "" ]
|
entrypoint: [ "" ]
|
||||||
stage: verify
|
stage: verify
|
||||||
needs: []
|
needs: []
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user