Skip to content

Commit a731790

Browse files
committed
update README
1 parent 95f094c commit a731790

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,41 @@ terraform destroy -var-file=env/dev/dev.tfvars
325325

326326
**Please Note:** Make sure to use the correct `.tfbackend` and `.tfvars` files for your environment.
327327

328+
### Deployments with Concourse
329+
330+
#### Allowlisting your IP
331+
To setup the deployment pipeline with concourse, you must first allowlist your IP address on the Concourse
332+
server. IP addresses are flushed everyday at 00:00 so this must be done at the beginning of every working day
333+
whenever the deployment pipeline needs to be used. Follow the instructions on the Confluence page (SDP Homepage > SDP Concourse > Concourse Login) to
334+
login. All our pipelines run on sdp-pipeline-prod, whereas sdp-pipeline-dev is the account used for
335+
changes to Concourse instance itself. Make sure to export all necessary environment variables from sdp-pipeline-prod (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN).
336+
337+
#### Setting up a pipeline
338+
When setting up our pipelines, we use ecs-infra-user on sdp-dev to be able to interact with our infrastructure on AWS. The credentials for this are stored on
339+
AWS Secrets Manager so you do not need to set up anything yourself.
340+
341+
To set the pipeline, run the following script:
342+
```bash
343+
chmod u+x ./concourse/scripts/set_pipeline.sh
344+
./concourse/scripts/set_pipeline.sh github-repo-archive-script
345+
```
346+
Note that you only have to run chmod the first time running the script in order to give permissions.
347+
This script will set the branch and pipeline name to whatever branch you are currently on. It will also set the image tag on ECR to the current commit hash at the time of setting the pipeline.
348+
349+
The pipeline name itself will usually follow a pattern as follows: `<repo-name>-<branch-name>`
350+
If you wish to set a pipeline for another branch without checking out, you can run the following:
351+
```bash
352+
./concourse/scripts/set_pipeline.sh github-repo-archive-script <branch_name>
353+
```
354+
355+
If the branch you are deploying is "main" or "master", it will trigger a deployment to the sdp-prod environment. To set the ECR image tag, you must draft a Github release pointing to the latest release of the main/master branch that has a tag in the form of vX.Y.Z. Drafting up a release will automatically deploy the latest version of the main/master branch with the associated release tag, but you can also manually trigger a build through the Concourse UI or the terminal prompt.
356+
357+
#### Triggering a pipeline
358+
Once the pipeline has been set, you can manually trigger a build on the Concourse UI, or run the following command:
359+
```bash
360+
fly -t aws-sdp trigger-job -j github-repo-archive-script-<branch-name>/build-and-push
361+
```
362+
328363
## Linting and Testing
329364

330365
### GitHub Actions

0 commit comments

Comments
 (0)