https://github.com/fvilarinho/cicdzerotohero
This project has the intention to demonstrate the basics of a CI/CD pipeline by provisioning a compute instance with Git server (Gitea)in Akamai Connected Cloud with pre-installed tools.
https://github.com/fvilarinho/cicdzerotohero
akamai devops gitea jenkins linode terraform
Last synced: 2 months ago
JSON representation
This project has the intention to demonstrate the basics of a CI/CD pipeline by provisioning a compute instance with Git server (Gitea)in Akamai Connected Cloud with pre-installed tools.
- Host: GitHub
- URL: https://github.com/fvilarinho/cicdzerotohero
- Owner: fvilarinho
- License: apache-2.0
- Created: 2022-10-13T14:57:12.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-05T21:31:34.000Z (over 1 year ago)
- Last Synced: 2025-06-17T22:44:43.751Z (about 1 year ago)
- Topics: akamai, devops, gitea, jenkins, linode, terraform
- Language: HCL
- Homepage:
- Size: 248 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
Awesome Lists containing this project
README
## CI/CD Zero to Hero
### Introduction
This project has the intention to demonstrate the basics of a CI/CD pipeline by provisioning a compute instance with
Git server (Gitea with Actions Runner) in Akamai Cloud Computing with pre-installed tools:
- [`Terraform 1.5.x`](https://terraform.io)
- [`Docker 24.x`](https://www.docker.com)
- [`NodeJS 20.x`](https://nodejs.org)
- [`NPM 10.x`](https://www.npmjs.com)
- [`Gitea 1.22.x`](https://gitea.com)
- [`Gitea Action Runner 0.2.x`](https://docs.gitea.com/usage/actions/act-runner)
It automates (using **Terraform**) the provisioning of the following resources in Akamai Cloud Computing (former Linode)
environment:
- **Domains**: Authoritative DNS server. (Please check the file `iac/linode-dns.tf` for more details).
- **Firewall**: Cloud Firewall. (Please check the file `iac/linode-firewall.tf` for more details).
- **Linodes**: Compute instances to run Gitea and Action Runner. (Please check the file `iac/linode-compute.tf` for more
- **Credentials**: SSH Private/Public Keys used to access the compute instances (Please check the file `iac/linode-credentials.tf`
for more details).
- **TLS Certificate**: LetsEncrypt signed certificate to enable HTTPs traffic in the compute instances. (Please check
the file `iac/certificate.tf` for more details).
### Requirements for you local machine
- [`Terraform 1.5.x`](https://terraform.io)
- [`Docker 24.x`](https://www.docker.com)
- `Any Linux Distribution` or
- `Windows 10 or later` or
- `MacOS Catalina or later`
All Terraform files use `variables` that are stored in the `iac/variables.tf`.
Please check this [link](https://developer.hashicorp.com/terraform/tutorials/configuration-language/variables) to know how to customize the variables.
### To deploy it in Akamai Cloud Computing
Just execute the command `deploy.sh` in your project directory. To undeploy, just execute the command `undeploy.sh` in
your project directory.
### To customize the Gitea Action Runner
You can customize the Action Runner adding new software and/or patching. To do it, just edit the following files:
- `iac/.env`: It contains the container registry information and the build version.
- `iac/Dockerfile`: It contains the definition of the container image (required software, etc.).
After that, execute the following commands:
- `build.sh`: To build the container images.
- `publish.sh`: To publish the container images in the container registry.
### Documentation
Follow the documentation below to know more about Akamai:
- [**Akamai Techdocs**](https://techdocs.akamai.com)
### Important notes
- **DON'T EXPOSE OR COMMIT ANY SENSITIVE DATA, SUCH AS CREDENTIALS, IN THE PROJECT.**
### Contact
**LinkedIn:**
- https://www.linkedin.com/in/fvilarinho
**e-Mail:**
- fvilarin@akamai.com
- fvilarinho@gmail.com
- fvilarinho@outlook.com
- me@vila.net.br
and that's all! Have fun!