Skip to content

Commit f241c82

Browse files
authored
Refine crawler production deploy description (#129)
1 parent c5142e4 commit f241c82

File tree

1 file changed

+39
-27
lines changed

1 file changed

+39
-27
lines changed

release-management.md

Lines changed: 39 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,25 @@ This process is for production only. Skip to [Deploy](#deploy) for dev apps.
4949

5050
## Deploy
5151

52-
### Repositories and Azure Apps
53-
54-
The code for the Service app lives in the [clearlydefined/service](https://github.com/clearlydefined/service) repository. `<Azure App basename>` is `clearlydefined-api`.
55-
56-
The code for the Website app lives in the [clearlydefined/website](https://github.com/clearlydefined/website) repository. `<Azure App basename>` is `clearlydefined`.
57-
58-
The code for the Crawler app lives in the [clearlydefined/crawler](https://github.com/clearlydefined/crawler) repository. `<Azure App basename>` is `cdcrawler`.
52+
### Repositories, Workflows, and Azure Apps
53+
54+
service
55+
- code: [clearlydefined/service](https://github.com/clearlydefined/service) repository
56+
- dev workflow: [build-and-deploy-dev.yml](https://github.com/clearlydefined/service/blob/master/.github/workflows/build-and-deploy-dev.yml)
57+
- prod workflow: [build-and-deploy-dev.yml](https://github.com/clearlydefined/service/blob/master/.github/workflows/build-and-deploy-prod.yml)
58+
- basename: `<Azure App basename>` is `clearlydefined-api`
59+
60+
website
61+
- code: [clearlydefined/website](https://github.com/clearlydefined/website) repository
62+
- dev workflow: [build-and-deploy-dev.yml](https://github.com/clearlydefined/website/blob/master/.github/workflows/build-and-deploy-dev.yml)
63+
- prod workflow: [build-and-deploy-dev.yml](https://github.com/clearlydefined/website/blob/master/.github/workflows/build-and-deploy-prod.yml)
64+
- basename: `<Azure App basename>` is `clearlydefined`
65+
66+
crawler:
67+
- code: [clearlydefined/crawler](https://github.com/clearlydefined/crawler) repository
68+
- dev workflow: [build-and-deploy-dev.yml](https://github.com/clearlydefined/crawler/blob/master/.github/workflows/build-and-deploy-dev.yml)
69+
- prod workflow: [build-and-deploy-dev.yml](https://github.com/clearlydefined/crawler/blob/master/.github/workflows/build-and-deploy-prod.yml)
70+
- basename: `<Azure App basename>` is `cdcrawler`
5971

6072
### dev Deploy
6173

@@ -71,6 +83,12 @@ You can also deploy manually. This is commonly used to test a PR branch before
7183
- select the branch or tag you want to deploy
7284
- click `Run workflow` button.
7385

86+
Confirm the ghcr package was created.
87+
88+
- [service-dev package](https://github.com/clearlydefined/service/pkgs/container/service-dev)
89+
- [website-dev package](https://github.com/clearlydefined/website/pkgs/container/website-dev)
90+
- [crawler-dev package](https://github.com/clearlydefined/crawler/pkgs/container/crawler-dev)
91+
7492
Confirm that the dev health endpoint has the correct version and sha.
7593

7694
- [service-dev health endpoint](https://dev-api.clearlydefined.io/)
@@ -79,11 +97,9 @@ Confirm that the dev health endpoint has the correct version and sha.
7997

8098
### prod Deploy
8199

82-
#### Sevice and Website Production Deploys
83-
84-
At this time, the workflow based process is used for the Service and Website only. The Crawler uses Azure DevOps for production deploy. That process is described in [Crawler Production Deploy](#crawler-production-deploy).
100+
All three apps use the common deployment workflows defined in [operations/.github/workflows](https://github.com/clearlydefined/operations/tree/main/.github/workflows) for prod deploy. The Crawler requires an additional step described in [Crawler Production Deploy - Extra Steps](#crawler-production-deploy-extra-steps).
85101

86-
A deploy workflow is triggered a release is `published`. The `prod` branch will be deployed to `<Azure App basename>-prod` and `<Azure App basename>-prod-europe`.
102+
A deploy workflow is triggered when a release is `published`. The `prod` branch will be deployed to `<Azure App basename>-prod` and `<Azure App basename>-prod-europe`.
87103

88104
You can also deploy manually. **THIS IS UNCOMMON.** Production is setup to run the latest release. This might be used if something goes wrong after a new release is deployed to revert to the previous production release.
89105

@@ -93,33 +109,29 @@ You can also deploy manually. **THIS IS UNCOMMON.** Production is setup to run
93109
- select the previous known good release's tag
94110
- click `Run workflow` button.
95111

96-
Confirm that the production health endpoint has the correct version and sha.
112+
Confirm the ghcr package was created.
97113

98-
- [service-prod health endpoint](https://api.clearlydefined.io/)
99-
- [website-prod health endpoint](https://clearlydefined.io/health/) (_NOTE: Not released with healthcheck at this time._)
114+
- [service-prod package](https://github.com/clearlydefined/service/pkgs/container/service)
115+
- [website-prod package](https://github.com/clearlydefined/website/pkgs/container/website)
116+
- [crawler-prod package](https://github.com/clearlydefined/crawler/pkgs/container/crawler)
100117

101-
#### Crawler Production Deploy
118+
Additionally, the crawler publishes to Docker Hub. Verify a tag for the new release was added there.
102119

103-
The production crawler uses [Azure DevOps builds](https://dev.azure.com/clearlydefined/ClearlyDefined/_build) for deploy. This section describes that process.
120+
- [crawler-prod Docker Hub](https://hub.docker.com/r/clearlydefined/crawler/tags) - You should see a TAG named for newly released version. The latest TAG and the new version's TAG should have the same Digest sha and compressed size.
104121

105-
#### prod deploy
122+
Confirm that the dev health endpoint has the correct version and sha.
106123

107-
- In Azure DevOps, click Pipelines in the left menu
108-
- Click crawler-prod (Docker Hub) (_in main content area_)
109-
- Click Run Pipeline button
110-
- Select ubuntu latest as the Agent Specification
111-
- Click Run button
124+
- [service-prod health endpoint](https://api.clearlydefined.io/)
125+
- [website-prod health endpoint](https://clearlydefined.io/health/) (_NOTE: Not released with healthcheck at this time._)
112126

113-
Confirm the docker image was built and deployed Docker Hub
127+
#### Crawler Production Deploy - Extra Steps
114128

115-
- [crawler Docker images](https://hub.docker.com/r/clearlydefined/crawler/tags) - You should see a TAG named for newly released version.
129+
Right now, the last step is to ask staff at MSFT to restart the production crawler. TODO: Working on a better process.
116130

117-
Confirm that the production health endpoint has the correct version and sha.
131+
Once the final step completes, confirm that the production health endpoint has the correct version and sha.
118132

119133
- [crawler-prod health endpoint](https://clearlydefined-crawler-prod.azurewebsites.net/)
120134

121-
TODO: Is there another step to the production crawler release? I see the new Docker image, but the health endpoint has the old version.
122-
123135
## Verification After Deployment
124136

125137
After the deployment, API calls can be made to the service for verification purposes. The collection of sample API calls can be found at [tools/integration/api-test](./tools/integration/api-test).

0 commit comments

Comments
 (0)