Skip to content
This repository was archived by the owner on Oct 11, 2023. It is now read-only.

Commit 5ce9013

Browse files
authored
Merge pull request #165 from Azure/add_github_actions
Add bikes pr workflow and bikesharing workflow for GitHub Actions
2 parents 4a01fc9 + a2abab9 commit 5ce9013

File tree

2 files changed

+108
-0
lines changed

2 files changed

+108
-0
lines changed

.github/workflows/bikes.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: PRFlow Bikes
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
paths:
8+
- samples/BikeSharingApp/Bikes/*
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
steps:
14+
15+
- uses: actions/checkout@master
16+
17+
- uses: azure/container-actions/docker-login@master
18+
with:
19+
login-server: ${{ secrets.CONTAINER_REGISTRY }}
20+
username: ${{ secrets.REGISTRY_USERNAME }}
21+
password: ${{ secrets.REGISTRY_PASSWORD }}
22+
23+
- run: |
24+
docker build samples/BikeSharingApp/Bikes/ -t ${{ secrets.CONTAINER_REGISTRY }}/bikes:$GITHUB_SHA
25+
docker push ${{ secrets.CONTAINER_REGISTRY }}/bikes:$GITHUB_SHA
26+
27+
- uses: azure/k8s-actions/aks-set-context@master
28+
with:
29+
creds: '${{ secrets.AZURE_CREDENTIALS }}'
30+
cluster-name: ${{ secrets.CLUSTER_NAME }}
31+
resource-group: ${{ secrets.RESOURCE_GROUP }}
32+
33+
- name: Create child namespaces and add Dev Spaces labels
34+
run: |
35+
if [ -n "$(kubectl get namespace $GITHUB_HEAD_REF --ignore-not-found -o name)" ]; then exit 0; fi
36+
kubectl create namespace $GITHUB_HEAD_REF
37+
kubectl label namespace $GITHUB_HEAD_REF azds.io/parent-space=${{ secrets.MASTER_SPACE }}
38+
kubectl label namespace $GITHUB_HEAD_REF azds.io/space=true
39+
40+
- uses: azure/k8s-actions/k8s-create-secret@master
41+
with:
42+
namespace: ${{ github.head_ref }}
43+
container-registry-url: ${{ secrets.CONTAINER_REGISTRY }}
44+
container-registry-username: ${{ secrets.REGISTRY_USERNAME }}
45+
container-registry-password: ${{ secrets.REGISTRY_PASSWORD }}
46+
secret-name: ${{ secrets.IMAGE_PULL_SECRET }}
47+
48+
- name: Helm Install PR
49+
run: |
50+
helm upgrade --install --namespace $GITHUB_HEAD_REF bikesharing-$GITHUB_HEAD_REF samples/BikeSharingApp/Bikes/charts/bikes --set "image.repository=${{ secrets.CONTAINER_REGISTRY }}/bikes,image.tag=$GITHUB_SHA,imagePullSecrets[0].name=${{ secrets.IMAGE_PULL_SECRET }},ingress.hosts[0]=$GITHUB_HEAD_REF.s.${{ secrets.MASTER_SPACE }}.bikesharing.${{ secrets.HOST_SUFFIX }},ingress.annotations.\"kubernetes\\.io/ingress\\.class\"=traefik-azds"
51+

.github/workflows/bikesharing.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Master
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
paths:
8+
- samples/BikeSharingApp/**
9+
- "!**/*.md"
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
steps:
15+
16+
- uses: actions/checkout@master
17+
18+
- uses: azure/container-actions/docker-login@master
19+
with:
20+
login-server: '${{ secrets.CONTAINER_REGISTRY }}'
21+
username: '${{ secrets.REGISTRY_USERNAME }}'
22+
password: '${{ secrets.REGISTRY_PASSWORD }}'
23+
24+
- run: |
25+
docker build samples/BikeSharingApp/Bikes/ -t ${{ secrets.CONTAINER_REGISTRY }}/bikes:$GITHUB_SHA
26+
docker push ${{ secrets.CONTAINER_REGISTRY }}/bikes:$GITHUB_SHA
27+
28+
docker build samples/BikeSharingApp/BikeSharingWeb/ -t ${{ secrets.CONTAINER_REGISTRY }}/bikesharingweb:$GITHUB_SHA
29+
docker push ${{ secrets.CONTAINER_REGISTRY }}/bikesharingweb:$GITHUB_SHA
30+
31+
docker build samples/BikeSharingApp/Billing/ -t ${{ secrets.CONTAINER_REGISTRY }}/billing:$GITHUB_SHA
32+
docker push ${{ secrets.CONTAINER_REGISTRY }}/billing:$GITHUB_SHA
33+
34+
docker build samples/BikeSharingApp/Gateway/ -t ${{ secrets.CONTAINER_REGISTRY }}/gateway:$GITHUB_SHA
35+
docker push ${{ secrets.CONTAINER_REGISTRY }}/gateway:$GITHUB_SHA
36+
37+
docker build samples/BikeSharingApp/Reservation/ -t ${{ secrets.CONTAINER_REGISTRY }}/reservation:$GITHUB_SHA
38+
docker push ${{ secrets.CONTAINER_REGISTRY }}/reservation:$GITHUB_SHA
39+
40+
docker build samples/BikeSharingApp/ReservationEngine/ -t ${{ secrets.CONTAINER_REGISTRY }}/reservationengine:$GITHUB_SHA
41+
docker push ${{ secrets.CONTAINER_REGISTRY }}/reservationengine:$GITHUB_SHA
42+
43+
docker build samples/BikeSharingApp/Users/ -t ${{ secrets.CONTAINER_REGISTRY }}/users:$GITHUB_SHA
44+
docker push ${{ secrets.CONTAINER_REGISTRY }}/users:$GITHUB_SHA
45+
46+
- uses: azure/k8s-actions/aks-set-context@master
47+
with:
48+
creds: '${{ secrets.AZURE_CREDENTIALS }}'
49+
cluster-name: '${{ secrets.CLUSTER_NAME }}'
50+
resource-group: '${{ secrets.RESOURCE_GROUP }}'
51+
52+
- name: Helm Install Master
53+
run: |
54+
cd samples/BikeSharingApp/charts
55+
helm init --client-only
56+
helm dependency update
57+
helm upgrade --install --namespace ${{ secrets.MASTER_SPACE }} bikesharing . --set "bikes.image.repository=${{ secrets.CONTAINER_REGISTRY }}/bikes, bikesharingweb.image.repository=${{ secrets.CONTAINER_REGISTRY }}/bikesharingweb, billing.image.repository=${{ secrets.CONTAINER_REGISTRY }}/billing, gateway.image.repository=${{ secrets.CONTAINER_REGISTRY }}/gateway, reservation.image.repository=${{ secrets.CONTAINER_REGISTRY }}/reservation, reservationengine.image.repository=${{ secrets.CONTAINER_REGISTRY }}/reservationengine, users.image.repository=${{ secrets.CONTAINER_REGISTRY }}/users, image.tag=$GITHUB_SHA"

0 commit comments

Comments
 (0)