This is a small example suite of ALM tools for doing CI/CD from a common git based repository. This suite is enabled by use of docker-compose to launch and link the individual tools (and their required tooling).
I am planning on using this for demo purposes and wanted a quick way to fire up a complete suite of tools. I opted for tooling that either had a small footprint or other interesting characteristics to facilitate the demo.
Simple web and API based SMTP server for local testing.
Easy and lightweight UI for managing Git repositories. It can be run on a Raspberry Pi so it'll be perfect to run for a demo.
- https://github.com/gogits/gogs/tree/master/docker
- gogs/gogs#3026
- https://github.com/gogits/go-gogs-client/wiki/Repositories
This can be run freely as long as it has less than 20 Build configurations (jobs) and 3 Agents. See here for more details.
TODO
Spring Initializr (Code): https://start.spring.io/
Simple starter apps based on Spring Boot.
Run the init.sh
script in the root directory to create the required
folders. Then just run docker-compose up
(sudo if needed). To run in
the background, use the -d
option.
You may need to get the latest version of docker and docker-compose installed. See here:
- https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/
- https://docs.docker.com/compose/install/#install-compose
Install the ssh keys to TeamCity (the private key) and the public key to Gogs.
127.0.1.1 gogs
127.0.1.1 teamcity-server
You may need to add these to your noproxy configurations (if you are behind a proxy)
- Select the SQLite3 option
- Replace "localhost" with "gogs" on the Domain and Application URL
- Email Service Settings
- mailhog:1025
- gogs@s1pkicdemo.com
- Server and Other Services Settings
- Enable Mail Notifications
- Enable Federated Avatars Lookup
- Enable Captcha
- Select OK
- Log in and create the admin account via "Sign up now"
- Add the public ssh key generated for TeamCity in the ./keys folder
- Click Proceed
- Select HSQLDB (local database)
- Accept License and disable anonoymous stats
- Create the Admin account
- teamcity
- TeamCity
- teamcity@s1pkicdemo.com
- Show date/time in my timezone
- Add builds triggered by me to favorites
- Go to Administration -> Email Notifier
- mailhog
- 1025
- Test Connection
- Add the Agent
- Select Agents -> Unauthorized (there should be 1)
- Select the Agent named
almbox_teamcity-agent_1
- Click "Authorize Agent"
- Setup the ssh keys
- Select the _Root build job
- Select "SSH Keys" on the left-hand menu
- Pick Upload SSH Keys and upload the file from ./keys (the private key)