当前位置: 首页 > 工具软件 > concourse > 使用案例 >

concourse学习笔记

哈扬
2023-12-01

【不定期更新】

参考来源:

https://concourse-ci.org/install.html#generic-oidc-config

https://www.digitalocean.com/community/tutorials/how-to-install-concourse-ci-on-ubuntu-16-04

concourse作为一个项目CI及CD工具,通过pipeline来进行项目发布及集成的控制管理。笔者也是个萌新,按照官方文档及其他实用资料着手开始搭建及入门学习。

笔者环境:ubuntu 16.4.3LTS

配置postgresql

这一部分是按照第二个链接里进行的。我是直接切到root用户操作。

apt install postgresql postgresql-contrib

安装完成后,下面要为postgres建一个用户,并以此用户创建数据库atc(concourse默认要用的库)。

sudo -u postgres createuser concourse 
sudo -u postgres createdb --owner=concourse atc

这里sudo -u postgres在我的实践中是必须要加的,不然没有权限执行postgres相关命令。各位自行实践时可能行为不一定一样。

然后使用psql进入postgres命令行模式。

sudo -u postgres 
psql \c atc #选择刚才创建的atc数据库

选择atc数据库时会显示You are now connected to database "atc" as user "postgres"。

我个人在这里为刚才创建的concourse用户修改了一个密码,这在后面的quickstart实践中需要用到。

alter user concourse password '123456';

这里仅能使用单引号。

到这里postgresql的配置完成。

concourse安装

这一部分结合上述两个链接进行配置,我直接使用ubuntu的浏览器从官网下载的concourse及fly的编译文件。(没有可视化页面的读者可尝试第二个链接中的方式)

下载完成后进行少许操作

chmod +x concourse* fly* 
mv concourse* /usr/local/bin/concourse 
mv fly* /usr/local/bin/fly

这时可以用如下命令查看版本

concourse --version fly --version

concourse quickstart

完成上述主要配置后,可以通过一个长指令来快速启动concourse。先贴上我经实践可用的指令。

concourse quickstart \ 
--add-local-user test:123456 \ 
--main-team-local-user test \ 
--external-url http://roens-ci.test.com \ 
--worker-work-dir /opt/concourse/worker \ 
--postgres-user concourse \ 
--postgres-password 123456

每行反斜杠前的空格必须留。

该指令执行后,会启动concourse的worker及web服务,命令行被占用会打印服务的输出内容。

前四行为官方文档的内容,详情可参阅官方文档。后两行是我自己实践中加的,没有这两行时总会报错:

failed to migrate database: pq: password authentication failed for user "root"

应该是concourse启动时默认用系统用户名去连postgres了。所以加上该两行数据库的用户密码配置,这也是之前修改密码的原因。

是否能用空密码作为配置笔者未尝试,读者可以自行尝试。

可以在本机使用127.0.0.1:8080登陆concourse的web页面,或者在其他内网机器使用ip:8080打开。

生成密钥

创建了一个/etc/concourse文件夹用于存放生成的密钥。

sudo ssh-keygen -t rsa -N '' -f /etc/concourse/tsa_host_key 
sudo ssh-keygen -t rsa -N '' -f /etc/concourse/worker_key 
sudo ssh-keygen -t rsa -N '' -f /etc/concourse/session_signing_key 
cp /etc/concourse/worker_key.pub /etc/concourse/authorized_worker_keys

启动concourse web服务

配置好上述密钥,便可以通过命令行启动一个web节点服务。

concourse web \ 
--add-local-user roens:123456 \ 
--main-team-local-user roens \ 
--session-signing-key /etc/concourse/session_signing_key \ 
--tsa-host-key /etc/concourse/tsa_host_key \ 
--tsa-authorized-keys /etc/concourse/authorized_worker_keys \ 
--external-url http://roens-ci.test.com \ 
--postgres-user concourse \ 
--postgres-password 123456

这样便启动了web节点的服务,可以通过8080端口访问。

启动worker可循文档同理。

 

 类似资料: