Solas is scaffolding for new repositories hosted by Samsung CNCT. It implements our best practices, such as issue and PR templates, commit hooks, licensing guidelines, and so on.
SOLAS: Safety of Life at Sea, an international maritime treaty to ensure ships comply with minimum safety standards in construction, equipment and operation.
At Samsung CNCT, solas refers to our minimum standards for operating in our sea of continuous cloud-native integration and development.
We use GitLab to implement our CI/CD pipelines. There is one GitLab repository for each GitHub repository. Each job builds, tests and, then deploys an artifact to Quay. Here you'll find our best practices for creating and managing GitHub repositories, templates for issues and PRs, commit hooks, licensing guidelines and more.
All of samsung-cnct's GitHub repositories are automatically linked to GitLab via our implementation of the failfast API. This means that as long as a project owned by samsung-cnct has a .gitlab-ci.yml
file, a GitLab repository and CI pipeline will be created automatically, with no additional setup.
- Determine a name for your project,
for example,
zabra
- Create a
new empty repo under the
samsung-cnct
org using the GitHub GUI, for example https://github.com/samsung-cnct/zabra - Duplicate
this repo (https://github.com/samsung-cnct/solas) and push it to the
zabra
repo you created in the previous step (note the arguments to clone and push)
git clone --bare https://github.com/samsung-cnct/solas.git
cd solas.git
git push --mirror https://github.com/samsung-cnct/zabra.git
cd ..
rm -rf solas.git
- Configure Github collaborators and teams
- Configure CI/CD by following the instructions for Quay, and GitLab.
- Configure Slack notifications
- Fork the
zabra
repo (https://github.com/samsung-cnct/zabra) fromsamsung-cnct
and begin submitting PRs