-
Notifications
You must be signed in to change notification settings - Fork 13
131 lines (114 loc) · 5.1 KB
/
ci-cd.yml
File metadata and controls
131 lines (114 loc) · 5.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: Continuous Integration & Deployment
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
IMAGE_TAG: ${{ github.sha }}
jobs:
# Build Docker images
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Java JDK
uses: actions/setup-java@v1.4.3
with:
java-version: 11
# Book--Service
- name: Build the Book-Service binary
run: cd book-service && mvn clean package
- name: Extract the book-service binary built on previous step
run: cd book-service && mkdir target/docker-packaging && (cd target/docker-packaging; jar -xf ../*.jar)
- name: Build the Book-Service Docker image
run: cd book-service && docker build . --file Dockerfile --tag bookservice:$IMAGE_TAG
# Order-Service
- name: Build the order-service binary
run: cd order-service && mvn clean package
- name: Extract the order-service binary built on previous step
run: cd order-service && mkdir target/docker-packaging && (cd target/docker-packaging; jar -xf ../*.jar)
- name: Build the Order-Service Docker image
run: cd order-service && docker build . --file Dockerfile --tag orderservice:$IMAGE_TAG
# Promotion-Service
- name: Setup Python
uses: actions/setup-python@v2.2.1
with:
python-version: 3.x
- name: Build the Promotion-Service Docker image
run: cd promotion-service && docker build . --file Dockerfile --tag promotionservice:$IMAGE_TAG
# Rating-Service
- name: Setup Node.js environment
uses: actions/setup-node@v2.1.4
with:
node-version: 12.x
- name: Build the Rating-Service Docker image
run: cd rating-service && docker build . --file Dockerfile --tag ratingservice:$IMAGE_TAG
# BookStore Angular App
- name: Build the Bookstore UI app Docker image
run: cd bookstore && docker build . --file Dockerfile --tag bookstore:$IMAGE_TAG
# Push bookservice docker images to DockerHub
- name: Push bookservice To DockerHub Registry
uses: redhat-actions/push-to-registry@v1
with:
image: bookservice
# Tag of the image to push
tag: ${{ env.IMAGE_TAG }} # optional, default is latest
# Registry where to push the image (eg. quay.io/username)
registry: docker.io/anitechcs
# Username to use as credential to authenticate to the registry
username: ${{ secrets.DOCKER_USERNAME }}
# Password to use as credential to authenticate to the registry
password: ${{ secrets.DOCKER_PASSWORD }}
# Push orderservice docker images to DockerHub
- name: Push orderservice To DockerHub Registry
uses: redhat-actions/push-to-registry@v1
with:
image: orderservice
# Tag of the image to push
tag: ${{ env.IMAGE_TAG }} # optional, default is latest
# Registry where to push the image (eg. quay.io/username)
registry: docker.io/anitechcs
# Username to use as credential to authenticate to the registry
username: ${{ secrets.DOCKER_USERNAME }}
# Password to use as credential to authenticate to the registry
password: ${{ secrets.DOCKER_PASSWORD }}
# Push promotionservice docker images to DockerHub
- name: Push promotionservice To DockerHub Registry
uses: redhat-actions/push-to-registry@v1
with:
image: promotionservice
# Tag of the image to push
tag: ${{ env.IMAGE_TAG }} # optional, default is latest
# Registry where to push the image (eg. quay.io/username)
registry: docker.io/anitechcs
# Username to use as credential to authenticate to the registry
username: ${{ secrets.DOCKER_USERNAME }}
# Password to use as credential to authenticate to the registry
password: ${{ secrets.DOCKER_PASSWORD }}
# Push ratingservice docker images to DockerHub
- name: Push ratingservice To DockerHub Registry
uses: redhat-actions/push-to-registry@v1
with:
image: ratingservice
# Tag of the image to push
tag: ${{ env.IMAGE_TAG }} # optional, default is latest
# Registry where to push the image (eg. quay.io/username)
registry: docker.io/anitechcs
# Username to use as credential to authenticate to the registry
username: ${{ secrets.DOCKER_USERNAME }}
# Password to use as credential to authenticate to the registry
password: ${{ secrets.DOCKER_PASSWORD }}
# Push bookstore docker images to DockerHub
- name: Push bookstore To DockerHub Registry
uses: redhat-actions/push-to-registry@v1
with:
image: bookstore
# Tag of the image to push
tag: ${{ env.IMAGE_TAG }} # optional, default is latest
# Registry where to push the image (eg. quay.io/username)
registry: docker.io/anitechcs
# Username to use as credential to authenticate to the registry
username: ${{ secrets.DOCKER_USERNAME }}
# Password to use as credential to authenticate to the registry
password: ${{ secrets.DOCKER_PASSWORD }}