Concourse CI 一键上手指南

xiao

发布于205天前
活着就要折腾!

https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.xiao.concourse


**欢迎使用 Concourse CI!** 无论你是自动化新手还是 DevOps 老手,跟着这份指南,你将在几分钟内体验现代 CI/CD 的高效与乐趣。让我们一步步打造一条属于你的流水线,开启自动化新旅程吧!

---

## 一、应用安装

进入 [Lazycat 应用商店](https://lazycat.cloud),搜索 “Concourse CI”,点击**一键部署**。


![image.png](https://dl.playground.lazycat.cloud/guidelines/921/ccdd9ecf-a668-4200-a4d6-653e1bffb61a.png "image.png")

稍等片刻,应用自动完成部署,访问分配给你的专属地址(例如 https://xxxx.lazycat.run)。

> **默认登录账号:**
>
> - 用户名:`admin`
> - 密 码:`admin`


---

## 二、下载安装 Fly CLI 工具

打开 Concourse Web UI。首页下载 **Fly** cli,选择适合你操作系统的文件。

![image.png](https://dl.playground.lazycat.cloud/guidelines/921/0b2720ec-e076-4299-bb99-3b48496e59fd.png "image.png")

下载后,将文件添加到你电脑的 PATH 路径,并赋予执行权限(Linux/macOS 可在终端输入 `chmod +x fly`)。

> 💡 **小贴士:** Fly CLI 工具让你在本地配置、操作 Concourse,非常强大!

---

## 三、快速创建你的第一条流水线

1. **编写 pipeline.yml:**

   在你喜欢的目录,新建 `pipeline.yml` 文件,复制以下内容(可用任何文本编辑器编辑):

   ```yaml
   jobs:
   - name: hello-world
     plan:
     - task: say-hello
       config:
         platform: linux
         image_resource:
           type: registry-image
           source:
             repository: ghcr.io/hlesey/busybox
         run:
           path: sh
           args:
           - -c
           - |
             echo "Hello, Concourse!"
             echo "Hello, LazyCAT!"
   ```

2. **Fly CLI 登录 Concourse:**

   打开命令行/终端,执行以下命令(域名换成你的实际 Web UI 域名):

   ```bash
   fly -t tutorial login -c https://你的应用地址 -u admin -p admin
   
   # 命令输出
   # logging in to team 'main'
   # target saved
   ```

3. **上传流水线配置:**

   ```bash
   fly -t tutorial set-pipeline -p my-first-pipeline -c pipeline.yml -n
   ```
   
   命令输出
   
   ```
   jobs:
      job hello has been added:
    + name: hello
    + plan:
    + - config:
    +     image_resource:
    +       name: ""
    +       source:
    +         repository: ghcr.io/hlesey/busybox
    +       type: registry-image
    +     platform: linux
    +     run:
    +       args:
    +       - -c
    +       - |
    +         echo -e "\n\nHello, Concourse!\n\nHello, LazyCAT!\n\n"
    +       path: sh
    +   task: test

    pipeline name: my-first-pipeline

    pipeline created!
    you can view your pipeline here: https://concourse.minicat.heiyu.space/teams/main/pipelines/my-first-pipeline

    the pipeline is currently paused. to unpause, either:
      - run the unpause-pipeline command:
        fly -t tutorial unpause-pipeline -p my-first-pipeline
      - click play next to the pipeline in the web ui
   ```
   
   > 💡 **小贴士:** 如果修改流水线定义再次上传时,会贴心展示出 diff(修改的内容),以便于确认改动符合预期。
   

4. **启用流水线:**

   默认情况下新创建的流水线是暂停状态,所以需要先启用。

   ```bash
   fly -t tutorial unpause-pipeline -p my-first-pipeline
   ```

5. **运行你的第一个任务:**

    执行以下命令,让你的流水线跑起来吧。
    
    > 💡 **小贴士:** 流水线中使用的默认镜像是 `ghcr.io/hlesey/busybox`, 网络不好的小伙伴会遇到下载镜像慢的问题,可以耐心等候,或者更换为一个镜像。

   ```bash
   fly -t tutorial trigger-job -j my-first-pipeline/hello --watch
   ```

   你会看到命令输出 `Hello, Concourse!` 与 `Hello, LazyCAT!`,流水线成功啦!
   
   你可以可以访问 web ui,查看流水线执行情况,以及历史的执行记录。
   
   
    ![image.png](https://dl.playground.lazycat.cloud/guidelines/921/ea839e1d-cf57-4ce4-9468-8a846a97e94a.png "image.png")

---

## Concourse 基本原理简述

Concourse 是一个专注于自动化、简洁和可维护性的现代 CI/CD 系统,其运作原理非常独特,易于理解:

- **流水线即代码**:所有自动化流程都通过 YAML 文件“声明式”写明,像写配置一样定义持续集成构建和交付过程,每一步都版本可控。
- **容器化任务**:Concourse 的每个任务和操作都在完全隔离的容器中运行,默认采用 **containerd** 作为运行时。这保证了每次执行环境一致、易于复现,无需担心“在我电脑上能跑”的问题。
- **资源即接口**:不同来源(如 Git、S3、镜像仓库等)的输入输出,都通过 “资源(Resource)”统一描述,让集成变得标准化。
- **无状态 Worker**:Worker 节点只负责拉取任务和运行容器,不保存流水线状态,调度灵活,宕机可自动恢复。
- **可视化与高并发**:配合强大的 Web UI 与并行调度能力,用户可直观监控多个任务、流水线无缝协作。

> 理解以上原理后,你会发现 Concourse 更安全、灵活,升级和迁移都非常容易!

---

## 常见文档与资料链接

- [Concourse 官方网站](https://concourse-ci.org/) —— 项目介绍与重要入口
- [官方文档(英文)](https://concourse-ci.org/docs.html) —— 完整功能、用法与设计文档
- [Github 仓库](https://github.com/concourse/concourse) —— 源码、问题反馈、发行版本
- [Concourse Discussions](https://github.com/concourse/concourse/discussions) —— 社区问答、使用交流

---

Concourse CI - 懒猫平台首选现代化 CI/CD 工具

评论

0

暂无评论

说点什么呢~
收藏
1
0
0