Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
4752d7e9
Commit
4752d7e9
authored
Mar 15, 2020
by
dreis2211
Committed by
Madhura Bhave
Mar 31, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Automate Docker updates in CI
See gh-20530
parent
88b7b783
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
124 additions
and
2 deletions
+124
-2
get-docker-url.sh
ci/images/get-docker-url.sh
+5
-0
setup.sh
ci/images/setup.sh
+2
-1
parameters.yml
ci/parameters.yml
+1
-0
pipeline.yml
ci/pipeline.yml
+40
-1
create-pull-request.sh
ci/scripts/create-pull-request.sh
+11
-0
detect-docker-updates.sh
ci/scripts/detect-docker-updates.sh
+37
-0
create-pull-request.yml
ci/tasks/create-pull-request.yml
+14
-0
detect-docker-updates.yml
ci/tasks/detect-docker-updates.yml
+14
-0
No files found.
ci/images/get-docker-url.sh
0 → 100755
View file @
4752d7e9
#!/bin/bash
set
-e
version
=
"19.03.7"
echo
"https://download.docker.com/linux/static/stable/x86_64/docker-
$version
.tgz"
;
ci/images/setup.sh
View file @
4752d7e9
...
@@ -27,9 +27,10 @@ test -f /opt/openjdk/bin/javac
...
@@ -27,9 +27,10 @@ test -f /opt/openjdk/bin/javac
###########################################################
###########################################################
# DOCKER
# DOCKER
###########################################################
###########################################################
DOCKER_URL
=
$(
./get-docker-url.sh
)
cd
/
cd
/
curl
-L
https://download.docker.com/linux/static/stable/x86_64/docker-19.03.7.tgz
|
tar
zx
curl
-L
${
DOCKER_URL
}
|
tar
zx
mv
/docker/
*
/bin/
mv
/docker/
*
/bin/
chmod
+x /bin/docker
*
chmod
+x /bin/docker
*
...
...
ci/parameters.yml
View file @
4752d7e9
docker-upgrade-issue-title
:
"
Upgrade
Docker
version
in
CI"
email-server
:
"
smtp.svc.pivotal.io"
email-server
:
"
smtp.svc.pivotal.io"
email-from
:
"
ci@spring.io"
email-from
:
"
ci@spring.io"
email-to
:
[
"
spring-boot-dev@pivotal.io"
]
email-to
:
[
"
spring-boot-dev@pivotal.io"
]
...
...
ci/pipeline.yml
View file @
4752d7e9
...
@@ -27,6 +27,14 @@ resources:
...
@@ -27,6 +27,14 @@ resources:
username
:
((github-username))
username
:
((github-username))
password
:
((github-password))
password
:
((github-password))
branch
:
((branch))
branch
:
((branch))
-
name
:
git-repo-ci-docker
type
:
git
icon
:
github-circle
source
:
uri
:
((github-repo))
username
:
((github-username))
password
:
((github-password))
branch
:
ci-docker-((branch))
-
name
:
git-repo-windows
-
name
:
git-repo-windows
type
:
git
type
:
git
source
:
source
:
...
@@ -178,6 +186,37 @@ jobs:
...
@@ -178,6 +186,37 @@ jobs:
GITHUB_PASSWORD
:
((github-password))
GITHUB_PASSWORD
:
((github-password))
GITHUB_USERNAME
:
((github-username))
GITHUB_USERNAME
:
((github-username))
image
:
spring-boot-ci-image
image
:
spring-boot-ci-image
-
name
:
detect-docker-updates
plan
:
-
get
:
git-repo
resource
:
git-repo-ci-docker
-
get
:
every-wednesday
trigger
:
true
-
get
:
spring-boot-ci-image
-
do
:
-
task
:
detect-docker-updates
file
:
git-repo/ci/tasks/detect-docker-updates.yml
params
:
GITHUB_REPO
:
spring-boot
GITHUB_ORGANIZATION
:
spring-projects
GITHUB_PASSWORD
:
((github-password))
GITHUB_USERNAME
:
((github-username))
ISSUE_TITLE
:
((docker-upgrade-issue-title))
image
:
spring-boot-ci-image
-
put
:
git-repo-ci-docker
params
:
repository
:
docker-updates-git-repo
force
:
true
-
task
:
create-pull-request
file
:
git-repo/ci/tasks/create-pull-request.yml
params
:
BASE_BRANCH
:
((branch))
BRANCH
:
ci-docker-((branch))
GITHUB_REPO
:
spring-boot
GITHUB_ORGANIZATION
:
spring-projects
GITHUB_PASSWORD
:
((github-password))
GITHUB_USERNAME
:
((github-username))
ISSUE_TITLE
:
((docker-upgrade-issue-title))
-
name
:
build
-
name
:
build
serial
:
true
serial
:
true
public
:
true
public
:
true
...
@@ -540,6 +579,6 @@ groups:
...
@@ -540,6 +579,6 @@ groups:
-
name
:
"
Release"
-
name
:
"
Release"
jobs
:
[
"
stage-milestone"
,
"
stage-rc"
,
"
stage-release"
,
"
promote-milestone"
,
"
promote-rc"
,
"
promote-release"
,
"
sync-to-maven-central"
]
jobs
:
[
"
stage-milestone"
,
"
stage-rc"
,
"
stage-release"
,
"
promote-milestone"
,
"
promote-rc"
,
"
promote-release"
,
"
sync-to-maven-central"
]
-
name
:
"
CI
Images"
-
name
:
"
CI
Images"
jobs
:
[
"
build-spring-boot-ci-images"
,
"
detect-jdk-updates"
,
"
detect-ubuntu-image-updates"
]
jobs
:
[
"
build-spring-boot-ci-images"
,
"
detect-
docker-updates"
,
"
detect-
jdk-updates"
,
"
detect-ubuntu-image-updates"
]
-
name
:
"
Build
Pull
Requests"
-
name
:
"
Build
Pull
Requests"
jobs
:
[
"
build-pull-requests"
]
jobs
:
[
"
build-pull-requests"
]
ci/scripts/create-pull-request.sh
0 → 100755
View file @
4752d7e9
#!/bin/bash
set
-e
curl
\
-s
\
-u
${
GITHUB_USERNAME
}
:
${
GITHUB_PASSWORD
}
\
-H
"Content-type:application/json"
\
-d
"{
\"
head
\"
:
\"
${
BRANCH
}
\"
,
\"
base
\"
:
\"
${
BASE_BRANCH
}
\"
,
\"
title
\"
:
\"
${
ISSUE_TITLE
}
\"
,
\"
body
\"
:
\"\"
,
\"
labels
\"
:[
\"
status: waiting-for-triage
\"
,
\"
type: task
\"
]}"
\
-f
\
-X
\
POST
"https://api.github.com/repos/
${
GITHUB_ORGANIZATION
}
/
${
GITHUB_REPO
}
/pulls"
>
/dev/null
||
{
echo
"Failed to create pull request"
>
&2
;
exit
1
;
}
ci/scripts/detect-docker-updates.sh
0 → 100755
View file @
4752d7e9
#!/bin/bash
latest_version
=
$(
curl
-I
-s
https://github.com/docker/docker-ce/releases/latest |
grep
"location:"
|
awk
'{n=split($0, parts, "/"); print substr(parts[n],2);}'
|
awk
'{$1=$1;print}'
|
tr
-d
'\r'
|
tr
-d
'\n'
)
if
[[
$latest_version
=
~
(
beta|rc
)
]]
;
then
echo
"Skip pre-release versions"
exit
0
;
fi
latest
=
"https://download.docker.com/linux/static/stable/x86_64/docker-
$latest_version
.tgz"
current
=
$(
git-repo/ci/images/get-docker-url.sh
)
if
[[
$current
=
$latest
]]
;
then
echo
"Already up-to-date"
exit
0
;
fi
existing_tasks
=
$(
curl
-s
https://api.github.com/repos/
${
GITHUB_ORGANIZATION
}
/
${
GITHUB_REPO
}
/pulls
\?
labels
\=
type
:%20task
\&
state
\=
open
\&
creator
\=
spring-buildmaster
)
existing_upgrade_issues
=
$(
echo
"
$existing_tasks
"
| jq
-c
--arg
TITLE
"
$ISSUE_TITLE
"
'.[] | select(.title==$TITLE)'
)
if
[[
${
existing_upgrade_issues
}
=
""
]]
;
then
pushd
git-repo
>
/dev/null
popd
>
/dev/null
git clone git-repo docker-updates-git-repo
>
/dev/null
pushd
docker-updates-git-repo
>
/dev/null
# Create changes in dedicated branch
branch
=
"ci-docker-
$latest_version
"
git config user.name
"Spring Buildmaster"
>
/dev/null
git config user.email
"buildmaster@springframework.org"
>
/dev/null
git checkout
-b
"
$branch
"
origin/master
>
/dev/null
sed
-i
"s/version=.*/version=
\"
$latest_version
\"
/"
ci/images/get-docker-url.sh
git add ci/images/get-docker-url.sh
>
/dev/null
commit_message
=
"Upgrade to Docker
$latest_version
in CI"
git commit
-m
"
$commit_message
"
>
/dev/null
else
echo
"Pull request already exists."
fi
ci/tasks/create-pull-request.yml
0 → 100644
View file @
4752d7e9
---
platform
:
linux
inputs
:
-
name
:
git-repo
params
:
BASE_BRANCH
:
BRANCH
:
GITHUB_REPO
:
GITHUB_ORGANIZATION
:
GITHUB_PASSWORD
:
GITHUB_USERNAME
:
ISSUE_TITLE
:
run
:
path
:
git-repo/ci/scripts/create-pull-request.sh
ci/tasks/detect-docker-updates.yml
0 → 100644
View file @
4752d7e9
---
platform
:
linux
inputs
:
-
name
:
git-repo
outputs
:
-
name
:
docker-updates-git-repo
params
:
GITHUB_REPO
:
GITHUB_ORGANIZATION
:
GITHUB_PASSWORD
:
GITHUB_USERNAME
:
ISSUE_TITLE
:
run
:
path
:
git-repo/ci/scripts/detect-docker-updates.sh
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment