Building an Event‑Driven Automated CI Pipeline with Alibaba Cloud EventBridge and ACK One Serverless Argo Workflows
This guide explains how to create a fully automated, event‑driven CI pipeline on Kubernetes by combining Alibaba Cloud EventBridge with the ACK One Serverless Argo Workflows service to trigger builds from Git events, compile Docker images with BuildKit cache, and deploy them via GitOps.
Argo Workflows is an open‑source cloud‑native workflow engine for orchestrating jobs on Kubernetes, offering step dependencies, templates, visual UI, and workflow‑level error handling that plain Kubernetes Jobs lack.
Alibaba Cloud EventBridge is a fully managed serverless event bus that routes events from cloud services, custom applications, and SaaS sources using the CloudEvents 1.0 protocol, providing high availability, auto‑scaling, cross‑region resilience, ease of use, and fine‑grained security through RAM permissions.
By integrating EventBridge with an ACK One Serverless Argo Workflows cluster, you can build an event‑driven CI pipeline that automatically triggers on Git events, runs Go project tests, builds Docker images with BuildKit cache, pushes them to ACR EE, and synchronizes the new image tag to the Kubernetes cluster via GitOps.
Preparation steps : create a workflow cluster, an ACR EE registry, and a NAS file system; configure the cluster with ACR EE credentials and NAS volumes (see the referenced help link for details).
EventBridge configuration includes activating the service, creating a custom event bus, integrating GitHub, and optionally adding a rule to filter only changes on the release‑v1 branch. Example rule JSON:
{
"source": ["github.event"],
"data": {
"body": {
"ref": ["refs/heads/release-v1"]
}
}
}The event target is set to the Kubernetes container service, with the ACK One workflow cluster’s KubeConfig and a YAML template that defines the CI workflow. Example variable mapping:
{
"workflowName": "$.id"
}The CI workflow template (YAML) specifies parameters such as repository URL, branch, Docker image name, tag, Dockerfile path, and flags to enable suffix commit ID and testing:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
name: ci-go-v1-eb-${workflowName}
namespace: default
labels:
workflows.argoproj.io/workflow-template: ackone-ci
spec:
arguments:
parameters:
- name: repo_url
value: https://github.com/ivan-cai/echo-server.git
- name: repo_name
value: echo-server
- name: target_branch
value: release-v1
- name: container_image
value: "test-registry.cn-hongkong.cr.aliyuncs.com/acs/echo-server"
- name: container_tag
value: "v1.0.0"
- name: dockerfile
value: ./Dockerfile
- name: enable_suffix_commitid
value: "true"
- name: enable_test
value: "true"
workflowTemplateRef:
name: ci-go-v1
clusterScope: trueWhen a developer pushes code to the monitored Git branch, EventBridge forwards the event to the ACK One workflow cluster, which executes the CI workflow, runs tests, builds and pushes the image, and finally updates the cluster via GitOps. The process can be observed in the EventBridge event trace, the workflow topology in the Argo console, and the newly pushed image in ACR EE.
Conclusion : ACK One Serverless Argo Workflows provides a fully managed, scalable, and cost‑effective CI pipeline, and when combined with EventBridge’s high‑availability, ease‑of‑use, and security features, it enables rapid, automated delivery of applications directly from code commit to deployment.
Alibaba Cloud Infrastructure
For uninterrupted computing services
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.