https://github.com/ssherwood/alm-box
Simple stack of ALM tools as a docker-compose
https://github.com/ssherwood/alm-box
gogs mailhog spring-initializr teamcity
Last synced: about 2 months ago
JSON representation
Simple stack of ALM tools as a docker-compose
- Host: GitHub
- URL: https://github.com/ssherwood/alm-box
- Owner: ssherwood
- Created: 2017-11-12T21:20:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-11-27T14:40:47.000Z (over 7 years ago)
- Last Synced: 2025-02-05T12:12:57.978Z (4 months ago)
- Topics: gogs, mailhog, spring-initializr, teamcity
- Language: Shell
- Homepage:
- Size: 9.77 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ALM (in a) Box
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).## Why?
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.## ALM Tooling
### [MailHog](https://github.com/mailhog/MailHog)
Simple web and API based SMTP server for local testing.
### [Gogs (Git)](https://gogs.io/)
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.#### Additional Info
- https://github.com/gogits/gogs/tree/master/docker
- https://github.com/gogits/gogs/issues/3026
- https://github.com/gogits/go-gogs-client/wiki/Repositories### [TeamCity (CI/CD)](https://www.jetbrains.com/teamcity/)
This can be run freely as long as it has less than 20 Build configurations
(jobs) and 3 Agents. See [here](https://confluence.jetbrains.com/display/TCD10/Licensing+Policy) for more details.### MatterMost
TODO
### Spring Initializr (Code): https://start.spring.io/
Simple starter apps based on Spring Boot.
## Setup
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-composeInstall the ssh keys to TeamCity (the private key) and the public key to Gogs.
## Add an entry in /etc/hosts
```properties
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)
### Initialize Gogs
- Select the SQLite3 option
- Replace "localhost" with "gogs" on the Domain and Application URL
- Email Service Settings
- mailhog:1025
- [email protected]
- Server and Other Services Settings
- [x] 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### Install the ssh keys to TeamCity (the private key) and the public key to Gogs
- Click Proceed
- Select HSQLDB (local database)
- Accept License and disable anonoymous stats
- Create the Admin account
- teamcity
- TeamCity
- [email protected]
- [x] Show date/time in my timezone
- [x] 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)