TeamCity 之旅1

简介: TeamCity提供一系列特性可以让团队快速实现持续集成:IDE工具集成、各种消息通知、各种报表、项目的管理、分布式的编译等等,所有的这些,都是让你的团队快速享有持续集成带来的效率提升、高质量的软件保障。 使用 TeamCity,你能够在几分钟之内为你的项目配置一个构建服务器,它内建了持续单元测试,代码质量分析和早期的构建问题分析报告,你甚至可以在IDE进行。 TeamCity 提供平滑的学习曲线,你可以逐步的学习经它的高级特性和功能,你很快就能加强你发布管理实践。 本次发布,在可用性作了大量的改进,更新的IDE 插件支持 CVS和SVN,另外还包括一些之前版本不具备的企业级的特性。

TeamCity提供一系列特性可以让团队快速实现持续集成:IDE工具集成、各种消息通知、各种报表、项目的管理、分布式的编译等等,所有的这些,都是让你的团队快速享有持续集成带来的效率提升、高质量的软件保障。 使用 TeamCity,你能够在几分钟之内为你的项目配置一个构建服务器,它内建了持续单元测试,代码质量分析和早期的构建问题分析报告,你甚至可以在IDE进行。 TeamCity 提供平滑的学习曲线,你可以逐步的学习经它的高级特性和功能,你很快就能加强你发布管理实践。 本次发布,在可用性作了大量的改进,更新的IDE 插件支持 CVS和SVN,另外还包括一些之前版本不具备的企业级的特性。
image.png

安装
用Docker Image 安装 Server端:

docker run -it --name teamcity-server-instance  \
-v /opt/teamcity/data:/data/teamcity_server/datadir \
-v /opt/teamcity/logs:/opt/teamcity/logs  \
-p 8111:8111 \
jetbrains/teamcity-server
AI 代码解读

出现此提示时表示初步安装成功,接下来进入后台进行配置

Startup confirmation is required. Open TeamCity web page in the browser. Server is running at http://localhost:8111
AI 代码解读

数据库选择:

支持 Mysql, Oracle, PostgreSQL,HSQLDB,这里选用的是默认数据.

初次进入会提示创建项目,后续需要主动创建项目.这里提供了简便的用户密码方式授权,同时也提供了 Oauth 方式

image.png

image.png

根据提示选择 Proceed,此步骤会根据工程目录自动选择可能的Build Steps

image.png

首次接触误以为 直接run可以了。会提示没有可用的 agent.

image.png

安装 Agent,每一台要发布的机器都要安装 agent,有没有批量安装方法呢?用 K8S 环境下如何部署?:

   docker run -p 9090:9090 -it -e SERVER_URL="http://120.27.8.120:8111"  \
AI 代码解读

-v /data/teamcity_agent/conf:/data/teamcity_agent/conf \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/buildagent/work:/opt/buildagent/work \
-v /opt/buildagent/temp:/opt/buildagent/temp \
-v /opt/buildagent/tools:/opt/buildagent/tools \
-v /opt/buildagent/plugins:/opt/buildagent/plugins \
-v /opt/buildagent/system:/opt/buildagent/system \
jetbrains/teamcity-agent

注意::

   Image 安装要注意制定本地目录,否则 Agent 虽然能 connected但是 build的时候找不到。为了省去不必要的麻烦端口号都有点 9090
AI 代码解读

image.png

angent安装出现 authorization token 时,复制 token回到 web 管理界面进行 agent 授权。

image.png
image.png

授权完会进入自动build

image.png
image.png

到目前为止 整个 TeamCity 就安装完了:

上面用到了 Token 授权 Server 访问 Agent,在安装 Server 时也曾出现过用 Token 代替用户和密码登陆,后续再要求创建管理员账号。

配置自动化发布

设置 Build Steps ,此例子总共6 步:

build, login, push, stop rm, delete image, run.
Login主要是为了登陆阿里的容器仓库,实际上在非容器化部署的 agent 中只执行一次即可,主机会记住登陆信息。

image.png

Buid:

创建 Build,比较简单 Runner Type 选择 Docker 即可。 给 Step 命名为 Build(随便命名可读即可),Docker command 选择 build,Path to file默认 TeamCity 会读取根目录下的Dockerfile,也可以指定其他目录的 Dockerfile。Image name:tag 根基实际情况指定。这里是用的阿里的registry.cn-beijing.aliyuncs.com/langzhe/ssj
AI 代码解读

image.png

Login:

授权允许访问仓库,Docker command 中没有 login,这里选择 other,在 Command name 中输入 login.
在 Additional arguments 中数据用户名密码和地址。
AI 代码解读

image.png

Push:

把镜像推到阿里镜像仓库,这个配置比较简单
AI 代码解读

image.png

stop rm: 测试的时候发现经常 Image 不更新,这里在 run 时,先把容器停掉并删除,同时把 Image 删除,run 的时候用的 latest.需要在主机上执行命令Runner Type要选择 CommandLine ,Run:选择 Custom script并输入以下脚本:

docker stop `docker images |grep ssj |awk '{print $3}'`
AI 代码解读

image.png

删除 Image,与第四步类似,脚本如下:

docker rmi `docker images |grep ssj |awk '{print $3}'`
AI 代码解读

image.png

第六步 run,与第二步类似:

DockerComand选择 Other,在 Command name 中输入 run.
AI 代码解读

Additional arguments for the command:输入-p 80:80 -d registry.cn-beijing.aliyuncs.com/langzhe/ssj

image.png

然后,执行 Run,这个过程需要反复调试。可以禁用一些 Steps.

最后一定要设置 Trigers

image.png

image.png

目录
相关文章
☀️手把手教你Camel 环境搭建☀️《❤️记得收藏❤️》
☀️手把手教你Camel 环境搭建☀️《❤️记得收藏❤️》
431 0
使用初体验
昨天提交的试用申请 须要认证 我直接用我的支付宝账号高速认证 流程非常少 说实话 对阿里非常期待 放下手头的工作 就登陆阿里云開始我的试用之旅了
从零开始搭建Java开发环境第三篇:最新版IDEA常用配置指南,打造你的最酷IDE
刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便以后的开发,工欲善其事必先利其器。 比如:设置文件字体大小,代码自动完成提示,版本管理,本地代码历史,自动导入包,修改注释,修改tab的显示的数量和行数,打开项目方式,等等一大堆东西。
laradock初体验
laravel这个框架也用了很久,一直使用官方提供 Homestead 作为本地开发环境是一个虚拟机,跟 docker 比,它占用体积太大,启动速度慢,同时响应速度很慢, docker 这种更方式,可以轻松方便的搭建整套 PHP 开发环境。
4336 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等