Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8ec545f

Browse files
committed
Get Helm deploy working in gh action
1 parentb99f983 commit8ec545f

File tree

2 files changed

+30
-42
lines changed

2 files changed

+30
-42
lines changed

‎.github/workflows/build-stubbornjava-web.yml‎

Lines changed: 16 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,6 @@ jobs:
2121
-name:Inject slug/short variables
2222
uses:rlespinasse/github-slug-action@v3.x
2323

24-
# - name: Print slug/short variables
25-
# run: |
26-
# echo "Slug variables"
27-
# echo " ref : ${{ env.GITHUB_REF_SLUG }}"
28-
# echo " head ref : ${{ env.GITHUB_HEAD_REF_SLUG }}"
29-
# echo " base ref : ${{ env.GITHUB_BASE_REF_SLUG }}"
30-
# echo " event ref : ${{ env.GITHUB_EVENT_REF_SLUG }}"
31-
# echo " repository : ${{ env.GITHUB_REPOSITORY_SLUG }}"
32-
# echo "Slug URL variables"
33-
# echo " ref : ${{ env.GITHUB_REF_SLUG_URL }}"
34-
# echo " head ref : ${{ env.GITHUB_HEAD_REF_SLUG_URL }}"
35-
# echo " base ref : ${{ env.GITHUB_BASE_REF_SLUG_URL }}"
36-
# echo " event ref : ${{ env.GITHUB_EVENT_REF_SLUG_URL }}"
37-
# echo " repository : ${{ env.GITHUB_REPOSITORY_SLUG_URL }}"
38-
# echo "Short SHA variables"
39-
# echo " sha : ${{ env.GITHUB_SHA_SHORT }}"
40-
4124
# https://github.com/actions/cache/blob/master/examples.md#java---gradle
4225
-name:save / load UI caches
4326
id:ui-cache
@@ -81,31 +64,30 @@ jobs:
8164
run:./gradlew build --no-daemon
8265

8366
-name:Docker Login
67+
if:github.repository == 'StubbornJava/StubbornJava'
8468
run:echo ${{ secrets.SJ_OPS_GH_ACTION_CONTAINER_REGISTRY }} | docker login -u stubbornjava-ops --password-stdin https://containers.pkg.github.com
8569

8670
-name:Branch name
71+
if:github.repository == 'StubbornJava/StubbornJava'
8772
run:echo running on branch ${{ env.GITHUB_REF_SLUG }}
8873

8974
-name:Build docker container for branch
75+
if:github.repository == 'StubbornJava/StubbornJava'
9076
working-directory:./stubbornjava-webapp
9177
run:docker build -t containers.pkg.github.com/stubbornjava/stubbornjava-webapp:${{ env.GITHUB_SHA_SHORT }} -f ./docker/Dockerfile .
9278

93-
# See comment in file for the reason we are tagging this as prod.
94-
# https://github.com/StubbornJava/StubbornJava/blob/master/k8s/stubbornjava.yaml
95-
-name:Tag docker container for production
96-
if:github.ref == 'refs/heads/master'
97-
working-directory:./stubbornjava-webapp
98-
run:docker tag containers.pkg.github.com/stubbornjava/stubbornjava-webapp:${{ env.GITHUB_SHA_SHORT }} containers.pkg.github.com/stubbornjava/stubbornjava-webapp:prod
99-
10079
-name:Push images and tags
80+
if:github.repository == 'StubbornJava/StubbornJava'
10181
run:docker push containers.pkg.github.com/stubbornjava/stubbornjava-webapp
10282

10383
# Deploy to k8s
104-
deploy:
84+
deploy-prod:
10585
needs:[build]
10686
# Only auto deploy from master
107-
if:github.ref == 'refs/heads/master'
87+
if:github.ref == 'refs/heads/master' && github.repository == 'StubbornJava/StubbornJava'
10888
runs-on:ubuntu-latest
89+
env:
90+
KUBECONFIG:.kube/config
10991
steps:
11092
-name:checkout
11193
uses:actions/checkout@v2
@@ -114,6 +96,11 @@ jobs:
11496
-name:Inject slug/short variables
11597
uses:rlespinasse/github-slug-action@v3.x
11698

99+
-name:Configure KUBECONFIG
100+
run:|
101+
mkdir -p .kube
102+
echo "${{ secrets.KUBE_CONFIG_DATA }}" | base64 -d > .kube/config
103+
117104
-name:Slack Notification - Deploying
118105
uses:rtCamp/action-slack-notify@v2
119106
env:
@@ -124,18 +111,10 @@ jobs:
124111
SLACK_USERNAME:deploy_bot
125112
SLACK_WEBHOOK:${{ secrets.SLACK_WEBHOOK }}
126113

127-
-name:deploy to cluster
128-
uses:steebchen/kubectl@v1.0.0
129-
env:
130-
KUBE_CONFIG_DATA:${{ secrets.KUBE_CONFIG_DATA }}
131-
with:
132-
args:set image --record deployment/stubbornjava-deployment sj-web=containers.pkg.github.com/stubbornjava/stubbornjava-webapp:${{ env.GITHUB_SHA_SHORT }}
133-
-name:verify deployment
134-
uses:steebchen/kubectl@v1.0.0
135-
env:
136-
KUBE_CONFIG_DATA:${{ secrets.KUBE_CONFIG_DATA }}
114+
-name:deploy stubbornjava
115+
uses:stefanprodan/kube-tools@v1
137116
with:
138-
args:'"rollout status deployment/stubbornjava-deployment"'
117+
command:helmv3 upgrade --install --wait stubbornjava k8s/chart/ --set image=containers.pkg.github.com/stubbornjava/stubbornjava-webapp:${{ env.GITHUB_SHA_SHORT }}
139118

140119
-name:Slack Notification - Deploy Failed
141120
if:${{ failure() }}

‎k8s/chart/templates/stubbornjava.yaml‎

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ metadata:
44
name:stubbornjava-deployment
55
labels:
66
app:sj-web
7+
app.kubernetes.io/managed-by:Helm
8+
annotations:
9+
meta.helm.sh/release-name:stubbornjava
10+
meta.helm.sh/release-namespace:default
711
spec:
812
replicas:2
913
strategy:
@@ -22,11 +26,6 @@ spec:
2226
spec:
2327
containers:
2428
-name:sj-web
25-
# Using the prod tag here is kind of a dirty hack so we don't have
26-
# to update this file on every CD deploy. CD will always deploy containers
27-
# tagged by their hash but the most recent container is also tagged with
28-
# prod. That should allow us to rerun this manifest without accidentally
29-
# rolling back code.
3029
image:{{ required "image input required" .Values.image | quote }}
3130
resources:
3231
limits:
@@ -96,6 +95,11 @@ apiVersion: v1
9695
kind:Service
9796
metadata:
9897
name:sj-web-nodeport
98+
labels:
99+
app.kubernetes.io/managed-by:Helm
100+
annotations:
101+
meta.helm.sh/release-name:stubbornjava
102+
meta.helm.sh/release-namespace:default
99103
spec:
100104
type:NodePort
101105
selector:
@@ -112,6 +116,11 @@ apiVersion: v1
112116
kind:ConfigMap
113117
metadata:
114118
name:sj-web-config-prod
119+
labels:
120+
app.kubernetes.io/managed-by:Helm
121+
annotations:
122+
meta.helm.sh/release-name:stubbornjava
123+
meta.helm.sh/release-namespace:default
115124
data:
116125
# Or set as complete file contents (even JSON!)
117126
sjweb.production.conf:|

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp