GitHub Actions + ACK: A Powerful Combination for Cloud-Native DevOps Implementation

Figure 1 — GitHub Actions supports the Alibaba Cloud deployment template

GitHub Actions Workflow Released Jointly by GitHub and Alibaba Cloud

1. About GitHub Action

Figure 2 — GitHub Actions Homepage
  • Out of the Box: GitHub Actions is a SaaS-based hosting service. Users can specify tasks to be executed within a GitHub VM or container through a declaration to ensure elastic extensibility during peak hours. Also, the task execution environment can be customized by adding machines hosted on the cloud or on the IDC to execute tasks.
  • Flexible and Convenient: It supports Linux, Windows, macOS, virtual machines, and containers. It also supports Node.js, Python, Java, Ruby, PHP, Go, Rust, .NET, and other languages and frameworks. Matrix construction is supported for parallel compatibility tests on multiple platforms and environments to improve the efficiency of software testing and integration.
  • Quota-Free: GitHub Actions is free-of-charge for public repositories and self-hosted runners. There are free storage and task running period for other GitHub specifications. A charge-based-on-quantity method is adopted after it exceeds the amount. For more information, please see this link.
  • Open Ecosystem: GitHub Actions is written in YAML scripts and can be edited and reused like code snippets. The GitHub Actions Marketplace provides GitHub Actions templates certificated by cloud vendors and third parties. You can use the templates directly or customize them.
  1. Workflow: It is a continuous integration and operation process based on the code repository. It can be triggered at a fixed time or by GitHub events. Workflow files are defined in YAML format and stored in the .github/workflows directory of the code repository. A code repository can have multiple Workflow files. GitHub runs this Workflow in parallel once it identifies the .yaml file in the directory.
  2. Job: A Workflow consists of multiple Jobs. The Jobs will be executed concurrently by default. The Jobs can also be set to run in sequence to implement Workflow with logical dependencies.
  3. Step: A Job consists of multiple Steps. Steps under the same Job are executed on the same Runner to ensure environment and data sharing.
  4. Action: A Step consists of multiple Actions. Actions is an independent command set that is also defined based on YAML code. Actions can be edited, reused, and shared by developers like code.
name: Greeting
on: push
jobs:
my-job:
name: My Job
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Greeting
run: |
echo 'Welcome to Alibaba Cloud!'

2. Alibaba Cloud Container Service

Figure 3 — The Alibaba Cloud Container Service Family

Cloud-Native DevOps Practices Based on GitHub Actions + ACK

Figure 4 — The DevOps process based on GitHub Action

1. Preparations

2. Process

Figure 5 — Actions built in the GitHub repository
Figure 6 — Select the Workflow to be deployed on Alibaba Cloud ACK
Figure 7 — Update the corresponding environment variables in Workflow
Figure 8 — Update secret information
Figure 9 — Workflow execution history
Figure 10 — GitHub Actions Marketplace

A New Way for DevOps Implementation in the Cloud-Native Era

Original Source:

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alibaba Cloud

Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com