Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Pages Test
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Model registry
Operate
Environments
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
GitLab Tests
Pages Test
Commits
eedc8e2b
Verified
Commit
eedc8e2b
authored
Apr 23, 2023
by
Chris Coley
Browse files
Options
Downloads
Patches
Plain Diff
Finalizing on variable substituion in .pre stage job
parent
cb19f164
Branches
Branches containing commit
No related tags found
1 merge request
!5
Variable substitution
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
.gitlab-ci.yml
+14
-15
14 additions, 15 deletions
.gitlab-ci.yml
with
14 additions
and
15 deletions
.gitlab-ci.yml
+
14
−
15
View file @
eedc8e2b
...
@@ -5,6 +5,15 @@ workflow:
...
@@ -5,6 +5,15 @@ workflow:
rules
:
rules
:
-
if
:
$CI_COMMIT_BRANCH
-
if
:
$CI_COMMIT_BRANCH
# We can't do variable substitution in a job and then also use that computed
# variable in the Environment URL of the same job, so we have to do the
# substitution in an earlier stage. All of this variable substitution is only
# required for projects in sub-groups because GitLab doesn't have a predefined
# variable that contains the project namespace relative to the root namespace.
#
# For example, if the project path is "/group/subgroup-1" then we need just the
# "/subgroup-1" portion because that is used in the Environment URL path, while
# the "/group" root namespace is used as the subdomain.
setup
:
setup
:
stage
:
.pre
stage
:
.pre
tags
:
tags
:
...
@@ -16,16 +25,14 @@ setup:
...
@@ -16,16 +25,14 @@ setup:
dotenv
:
build.env
dotenv
:
build.env
# We can't deploy multiple different variants of GitLab Pages sites (e.g. one
# We can't deploy multiple different variants of GitLab Pages sites (e.g. one
# per branch), so we use this
quick
instead. GitLab has a special browsable
URL
# per branch), so we use this
workaround
instead. GitLab has a special browsable
# for job artifacts on public projects, and we can create an Environment
that
#
URL
for job artifacts on public projects, and we can create an Environment
# points to that URL so it's easy for devs to know what the current
Environment
#
that
points to that URL so it's easy for devs to know what the current
# URL for their branch is.
#
Environment
URL for their branch is.
.deploy
:
.deploy
:
stage
:
deploy
stage
:
deploy
tags
:
tags
:
-
docker
-
docker
variables
:
PROJECT_SUB_NAMESPACE
:
/
script
:
script
:
-
sed -i "s/%%BRANCH%%/$CI_COMMIT_BRANCH/g" src/index.html
-
sed -i "s/%%BRANCH%%/$CI_COMMIT_BRANCH/g" src/index.html
-
mv src public
-
mv src public
...
@@ -40,15 +47,7 @@ setup:
...
@@ -40,15 +47,7 @@ setup:
# Deploy a review environment for any push to a branch that is not the default
# Deploy a review environment for any push to a branch that is not the default
# branch
# branch
review-sub
:
review
:
extends
:
.deploy
rules
:
-
if
:
$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
environment
:
name
:
"
review-sub
$CI_COMMIT_BRANCH"
url
:
"
https://${CI_PROJECT_ROOT_NAMESPACE}.${CI_PAGES_DOMAIN}/-${PROJECT_SUB_NAMESPACE}${CI_PROJECT_NAME}/-/jobs/$CI_JOB_ID/artifacts/public/index.html"
review-rel
:
extends
:
.deploy
extends
:
.deploy
rules
:
rules
:
-
if
:
$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
-
if
:
$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
...
...
...
...
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
sign in
to comment