THIS PROJECT IS NO LONGER MAINTAINED. PLEASE TAKE A LOOK AT ARGO EVENTS INSTEAD (https://github.com/argoproj/argo-events)
Argo CI is a continuous integration and deployment system powered by Argo workflow engine for Kubernetes. Argo CI provides integration with SCM ( currently only Github is supported) and automatically triggers CI workflow defined using Argo YAML DSL.
Argo CI might be installed using Helm:
helm repo add argo https://argoproj.github.io/argo-helm/
helm install argo/argo-ci --name argo-ci
The argo-ci
helm chart installs three deployments:
- Argo workflow controller
- Argo UI deployment
- Argo CI deployment
Argo UI and Argo CI are available externally via load balancer kubernetes services.
Following steps are required to configure integration:
- For security reasons Argo CI configuration UI is not available externally. Easiest way to access it is to use port forwarding:
kubectl port-forward <argo-ci-pod> 8002:8002
. UI should be available via http://localhost:8002. - Configure external Argo UI URL using Argo CI configuration UI.
- Add required repositories using Argo UI:
- Create webhook using Github UI:
- set Payload URL to
http<ArgoCiDomain>/api/webhook/github
- set Content Type to
application/json
- set your Secret token values
- set Payload URL to
- Create build workflow and save at
.argo-ci/ci.yaml
inside of your project repository. If workflow has parameters namedrevision
andrepo
then Argo CI will automatically set values for these parameters.
To build project locally install nodejs and yarn. Once you install npm dependencies using yarn install
you are ready to build and
debug project locally:
- Execute
yarn build
to build project. Command stores build results in./dist
directory. - Execute
yarn start
to start service locally.