加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 云计算 > 正文

Tekton系列之实践篇我的首条Pipeline

发布时间:2022-04-12 20:57:41 所属栏目:云计算 来源:互联网
导读:前面已经完成了Tekton的安装和理论知识的介绍,如果你认真的看完了文章,相信你会有所收获。 这篇文章主要带你来真正实践一下,完成自己的第一条流水线。 我们流水线的整体流程如下。 整个流程是不是很简单?是的,这是最基本的流程,其实只需要把最基本的
         前面已经完成了Tekton的安装和理论知识的介绍,如果你认真的看完了文章,相信你会有所收获。
 
       这篇文章主要带你来真正实践一下,完成自己的第一条流水线。
 
       我们流水线的整体流程如下。
 
        整个流程是不是很简单?是的,这是最基本的流程,其实只需要把最基本的搞通,其他的都是在基础之上进行扩展。
 
这里使用Go简单写了一个小代码用于测试,地址是:https://gitee.com/coolops/devops-hello-world.git。
 
如果使用Jenkins来实现上面的功能,就只需要编写一个Jenkinsfile,然后在里面写4个stage就好。现在用Tekton,就需要将上面的步骤定义为4个Task,然后通过Pipeline将它们串起来,下面会先定义Task,再将Task组合成Pipeline。
 
拉取代码
代码是交付的基石,是后续的所有动作做铺垫的,我们需要创建一个拉取代码的Task。
 
不过这个Task,我们可以不用自己写,直接用Tekton Hub上别人写好的,地址是:https://hub.tekton.dev/tekton/task/git-clone。这个Task支持的功能比较全,参数也比较多,具体有哪些参数可以到上面的地址进行查看和学习。
 
其安装方式有两种:kubectl和tkn客户端。
 
(1)使用kubectl进行安装。
 
复制
 
1.
(2)使用tkn客户端进行安装。
 
复制
tkn hub install task git-clone
1.
我这里使用的第二种安装方式,安装后可以看到具体的Task。
 
这个Task到底能不能满足我们的需求呢?我们可以创建一个TaskRun来进行测试,如下(由于还没有配置拉取代码仓库的用户名和密码,这里先用一个公开的仓库进行测试)。
 
复制
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: unit-test
spec:
  workspaces:
    - name: source
  steps:
    - name: unit-test
      workingDir: $(workspaces.source.path)
      image: golang:1.17.5
      env:
      - name: GOPROXY
        value: https://goproxy.cn
      command: ['go']
      args:
      - "test"
      - "./..."
 
构建镜像/推送
为什么这里没有单独把应用构建组成一个Task呢?主要是我们在这里采用了多阶段构建,我们可以将应用构建-镜像打包写在一个Dockerfile中,所以这里只需要写一个Task。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读