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.yamlinside of your project repository. If workflow has parameters namedrevisionandrepothen 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 buildto build project. Command stores build results in./distdirectory. - Execute
yarn startto start service locally.