mira
Version:
NearForm Accelerator for Cloud Native Serverless AWS
100 lines (74 loc) • 3.86 kB
Markdown
for more detail on the CI/CD pipeline.
See [Configuration documentation](../config/README.md) for more information about properties.
1. Make sure to adjust your `default.json` file with proper values in the `cicd.env` section.
__Note:__ If you're not using github and/or you don't want to use github actions for
the code mirroring, you can remove the `codeCommitUserPublicKey` attribute.
__Note:__ `codeCommitUserPublicKey` source will be defined in the next steps.
E.g.:
```bash
"cicd": {
"target": "cicd",
"buildspecFile": "infra/buildspec.yaml",
"permissionsFile": "infra/src/permissions.js",
"provider": "codecommit",
"repositoryUrl": "YOUR_REPOSITORY_URL",
"branchName": "master",
"codeCommitUserPublicKey": "ssh-rsa YOUR_PUBLIC_KEY",
"stages": [
{
"target": "staging",
"withDomain": false,
"requireManualApproval": false
}
]
}
```
2. Modify `accounts` section and modify respective target account configuration.
Every target specified in the `cicd.stages`, must be specified in the `accounts` section.
E.g.:
```bash
"accounts": [{
"name": "default",
"env": {
"account": "YOUR_NUMBER",
"region": "YOUR_REGION"
},
"profile": "YOUR_PROFILE_NAME"
},
"staging": {
"env": {
"account": "YOUR_NUMBER",
"region": "YOUR_REGION"
},
"profile": "YOUR_PROFILE_NAME"
}]
```
This list is dynamic, so you can add or remove target environments.
3. Generate if needed RSA key with
```bash
ssh-keygen -t rsa -P '' -f ~/.ssh/codecommit_rsa
```
4. Adjust `config/default.json` cicd section with codecommit public key.
5. `npx mira cicd`
6. Approve roles creation
7. Mirroring
__Note:__ CI/CD assumes [github actions](https://github.com/features/actions) are used for code mirroring into AWS CodeCommit. See the `.github` directory for more information.
Otherwise, the developer is responsible for mirroring the code into the dedicated AWS CodeCommit or use AWS CodeCommit directly.
1. Create a secret with the name `iamusercodecommit`.
Use the value taken from the `codecommit_rsa` file. This file contains text which looks like:
```
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAA[...]
-----END OPENSSH PRIVATE KEY-----
```
2. Create a secret with the name `iamusername`.
Set `iamusername` to the value listed in the CI/CD stack output. You get this when you deploy the CI/CD Stack. If you have not yet completed the steps described in [Deploy the CI/CD Stack](
If you returned here to update this value, get it from the `GitUserName` output listed in the CI/CD CloudFormation stack that was created.
__Note:__ Each time the CI pipeline is recreated, you must also update the `iamusername` with the new value.
3. Create a secret with the name `targetrepository`.
Set the value of `targetrepository` to the SSH clone URL of the CodeCommit repository which was created for the CI/CD stack. Get this value from the AWS CodeCommit dashboard by clicking the SSH clone link next to the
repository.
8. Push your changes to your branch specified in the `config/default.json` in `branchName` property to start CI process.
At this point, the created Code Pipeline should start its execution and the defined target environments should get their own application deployment.
See [Continuous Integration documentation](../cicd/README.md)