Concourse CI资源整合

vedio

the docs of beginner

concourse architechure

concourse-architechure

ATC-air traffic control

TSA

  • TSA
    controls worker authentication within concourse,一个安全注册到concourse deployment中的方式,

运输安全管理局是工人安全注册的方式,以加入一个集合部署。它提供身份验证和传输加密(如果需要的话)。工作机器可以使用自定义命令ssh到TSA,以便注册或将流量转发给它们。一旦建立了SSH会话,TSA就会自动将有关该worker的信息输入到ATC的池中

这种方式提供的主要优点是为了让ATC能够到达worker不再需要通过互联网进行路由。他们通过TSA打开了一个反向隧道,当与ATC搭配使用时,它更容易被路由。这也允许更简单的设置和更好的安全性,就像在您必须公开您的Garden server或设置一些有趣的自定义的安全性时,如果工人和ATC不在同一个私有网络中

Support Command

https://concourse-ci.org/concepts.html#component-tsa

  • register-worker
  • forward-worker

Garden

container orchestration, 运行在worker中

BaggageClaim

volume management, 运行在worker中

Workers

container runtime & cache management

Database之postgresql

为ATC存储pipeline的数据以及构建的日志

xuelong@boshcli:~$ bosh -e 21v-bosh -d concourse vms
Deployment 'concourse'

Instance                                     Process State  AZ  IPs             VM CID                                   VM Type    Active  
db/c22f8f4b-5bd2-4ba7-85d9-6992622bddb7      running        z1  10.200.200.128  vm-cb642874-3b4f-4527-9431-a351e9eb5285  ci-db      false  
web/550952d1-33e0-40ff-bfcd-4044dfcb11ef     running        z1  10.200.200.55   vm-fd19caad-0c9f-4993-9447-c19cbb2217c4  2c_4g_40g  false  
worker/ad8d4a5a-0eec-427e-a57c-83b64a4083e3  running        z1  10.200.200.129  vm-a8814904-c4f0-4e6c-9861-fa3680db080b  2c_4g_40g  false  
xuelong@boshcli:~$ bosh -e 21v-bosh -d concourse ssh db/c22f8f4b-5bd2-4ba7-85d9-6992622bddb7

db/c22f8f4b-5bd2-4ba7-85d9-6992622bddb7:~$ sudo su
db/c22f8f4b-5bd2-4ba7-85d9-6992622bddb7:~$ ps -ef | grep "/var/vcap/data/packages/postgres"

#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
db/c22f8f4b-5bd2-4ba7-85d9-6992622bddb7:~# /var/vcap/data/packages/postgres-9.6.8/e5b7ef012252038c5338f7ef0771c51bb9ae9006/bin/psql -h localhost -U concourse atc
atc=> \dt

Concourse Common Command

fly -t a login -n xuelong -c http://10.200.200.55:8080 # target到一个指定的term
fly targets
fly -t a builds #列出所有的build的任务
fly -t a watch -b $BUILD_ID # 查看指定build的过程
fly -t a sp -p basic-pipeline -c ./pipeline.yml  # 设置一个pipleline
fly -t a e -c inputs_required.yml # 直接之前一个简单的job
fly -t a destroy-pipeline -p $PIPENAME # 删除一个指定的pipeline
fly -t a trigger-job -j $PIPENAME/$JOBNAME # 跟踪指定pipeline的指定job
fly -t a trigger-job -j basic-pipeline/job-hello-world -w # 运行pipeline的同时观察pipeline的输出
fly -t tutorial up -p $pipeline # 运行pipeline
fly -t tutorial sp -p parameters -c pipeline.yml -l credentials.yml #使用变量文件
fly -t tutorial sp -p parameters -c pipeline.yml -v cat-name=garfield -v dog-name=odie # 显示指定变量

Note

  • 基础镜像包含所有的依赖
  • input的resource要包含task script,以及知道怎么运行
  • input的resource要包含应用程序的代码

Demo

online resource

猜你喜欢

转载自blog.51cto.com/bkmaster/2138011