Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
K
key-storage-agent
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Code
key-storage-agent
Commits
0e0138a5
Commit
0e0138a5
authored
5 years ago
by
Alexander Kulikov
Browse files
Options
Downloads
Patches
Plain Diff
Update .gitlab-ci.yml
parent
892a68a5
No related branches found
No related tags found
1 merge request
!45
devops#196
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
.gitlab-ci.yml
+42
-22
42 additions, 22 deletions
.gitlab-ci.yml
with
42 additions
and
22 deletions
.gitlab-ci.yml
+
42
−
22
View file @
0e0138a5
...
@@ -6,61 +6,81 @@ stages:
...
@@ -6,61 +6,81 @@ stages:
-
build
-
build
-
manifest
-
manifest
-
deploy
-
deploy
-
tech_registry
variables
:
variables
:
DOCKER_CONFIG
:
~/.docker/$CI_JOB_ID
DOCKER_CONFIG
:
~/.docker/$CI_JOB_ID
IMAGE_amd64
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_REF_NAME
IMAGE_ppc64le
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_REF_NAME
MANIFEST
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
TECH_IMAGE_amd64
:
$REGISTRY_TECH_URL/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_REF_NAME
TECH_IMAGE_ppc64le
:
$REGISTRY_TECH_URL/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_REF_NAME
TECH_MANIFEST
:
$REGISTRY_TECH_URL/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
before_script
:
before_script
:
-
"
[
-d
$DOCKER_CONFIG
]
||
mkdir
-p
$DOCKER_CONFIG"
-
"
[
-d
$DOCKER_CONFIG
]
||
mkdir
-p
$DOCKER_CONFIG"
-
"
echo
'{
\"
experimental
\"
:
\"
enabled
\"
}'
>
$DOCKER_CONFIG/config.json"
-
"
echo
'{
\"
experimental
\"
:
\"
enabled
\"
}'
>
$DOCKER_CONFIG/config.json"
-
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
-
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
-
docker login $REGISTRY_TECH_URL --username $REGISTRY_TECH_USER --password $REGISTRY_TECH_PASS
after_script
:
after_script
:
-
"
rm
-vRf
$DOCKER_CONFIG"
-
"
rm
-vRf
$DOCKER_CONFIG"
ppc64le
:
ppc64le
:
variables
:
IMAGE
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
IMAGE_SHA
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_SHA
stage
:
build
stage
:
build
tags
:
tags
:
-
ppc64le
-
ppc64le
script
:
script
:
-
docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN --pull -t $IMAGE -f Dockerfile .
-
docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN
--pull -t $IMAGE
_ppc64le
-f Dockerfile .
-
docker push $IMAGE
-
docker push $IMAGE
_ppc64le
amd64
:
amd64
:
variables
:
variables
:
IMAGE
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
IMAGE_SHA
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_SHA
stage
:
build
stage
:
build
tags
:
tags
:
-
amd64
-
amd64
script
:
script
:
-
docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN --pull -t $IMAGE -f Dockerfile .
-
docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN --pull -t $IMAGE
_amd64
-f Dockerfile .
-
docker push $IMAGE
-
docker push $IMAGE
_amd64
manifest
:
manifest
:
variables
:
IMAGE
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
IMAGE_SHA
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_SHA
IMAGE_amd64
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_REF_NAME
IMAGE_SHA_amd64
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_SHA
IMAGE_ppc64le
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_REF_NAME
IMAGE_SHA_ppc64le
:
$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_SHA
stage
:
manifest
stage
:
manifest
tags
:
tags
:
-
amd64
-
amd64
script
:
script
:
-
docker manifest create $IMAGE $IMAGE_amd64 $IMAGE_ppc64le
-
docker manifest create $MANIFEST $IMAGE_amd64 $IMAGE_ppc64le
-
docker manifest push $IMAGE
-
docker manifest annotate $MANIFEST $IMAGE_amd64 --os linux --arch amd64
-
docker manifest annotate $MANIFEST $IMAGE_ppc64le --os linux --arch ppc64le
-
docker manifest push $MANIFEST
deploy
:
deploy
:
stage
:
deploy
stage
:
deploy
tags
:
tags
:
-
hv2
-
hv2
only
:
only
:
-
master
-
master
script
:
script
:
-
apk add curl
-
apk add curl
-
for ref in $DEPLOYENVS; do curl -X POST -F token=$TRIGGER_TOKEN -F ref=$ref -F variables[branch]=master https://code.vereign.com/api/v4/projects/59/trigger/pipeline; done
-
for ref in $DEPLOYENVS; do curl -X POST -F token=$TRIGGER_TOKEN -F ref=$ref -F variables[branch]=$CI_COMMIT_REF_NAME $TRIGGER_CODE_BUILD; done
duplicate
:
stage
:
tech_registry
tags
:
-
amd64
only
:
refs
:
-
tags
-
master
script
:
-
docker pull $IMAGE_amd64
-
docker tag $IMAGE_amd64 $TECH_IMAGE_amd64
-
docker pull $IMAGE_ppc64le
-
docker tag $IMAGE_ppc64le $TECH_IMAGE_ppc64le
-
docker push $TECH_IMAGE_amd64
-
docker push $TECH_IMAGE_ppc64le
-
docker manifest create $TECH_MANIFEST $TECH_IMAGE_amd64 $TECH_IMAGE_ppc64le
-
docker manifest annotate $TECH_MANIFEST $TECH_IMAGE_amd64 --os linux --arch amd64
-
docker manifest annotate $TECH_MANIFEST $TECH_IMAGE_ppc64le --os linux --arch ppc64le
-
docker manifest push $TECH_MANIFEST
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment