【Teamcity 安装及入门使用】

前言

前不久,teamcity更新了2023.05.2版本,我对teamcity也有一段时间的学习了,所以想写一篇博客来记录一下这段时间的学习过程。

teamcity 的优势很多,我个人比较喜欢的是对IDEA的支持,程序员能在IDEA里直接部署应用和观察部署日志,不用在浏览器和IDE之间来回切换了,提高了生产效率

安装

安装teamcity有很多种方式,因为没有搭k8s,所以采用docker compose的方式安装,teamcity数据库支持Mysql和PostgreSQL,个人还是习惯Mysql,所以用Mysql

无Mysql版本

如果你没有Mysql,则需要在Docker启动时,先启动一个Mysql,Docker-Compose.yaml文件如下


```yaml
version: '2'
services:
  mysql:
    image: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    container_name: mysql
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: teamcity
      MYSQL_DATABASE: teamcity
      MYSQL_USER: teamcity
      MYSQL_PASSWORD: teamcity
    volumes:
      - ./mysql/data:/var/lib/mysql
  teamcity:
     image: jetbrains/teamcity-server:2023.05.2
     container_name: jetbrains-teamcity
     user: root
     volumes:
       - ./teamcity_server/data:/data/teamcity_server/datadir
       - ./teamcity_server/logs:/opt/teamcity/logs
     environment:
       - SERVER_URL=http:\/\/teamcity:8111
      #  - VIRTUAL_HOST=teamcity.yourdomain.com
      #  - LETSENCRYPT_HOST=teamcity.yourdomain.com
      #  - LETSENCRYPT_EMAIL=your.email@yourdomain.com
     ports:
       - "8111:8111"
     depends_on:
       - mysql 
  teamcity_agent1:
    image: jetbrains/teamcity-agent:2023.05.2
    container_name: teamcity-agent-1
    user: root
    volumes:
      - ./agent1/conf:/data/teamcity_agent/conf
      - ./agent1/volumes:/var/lib/docker
    environment:
      - SERVER_URL=http://teamcity:8111
      - DOCKER_IN_DOCKER=start
    ports:
      - "9090:9090"
    privileged: true
    depends_on:
      - teamcity
volumes:
  dockervolumes:

有Mysql版本

如果你有Mysql,则用如下Docker-Compose.yaml即可

version: '2'
services:
  teamcity:
     image: jetbrains/teamcity-server:2023.05.2
     container_name: jetbrains-teamcity
     user: root
     volumes:
       - ./teamcity_server/data:/data/teamcity_server/datadir
       - ./teamcity_server/logs:/opt/teamcity/logs
     environment:
       - SERVER_URL=http:\/\/teamcity:8111
      #  - VIRTUAL_HOST=teamcity.yourdomain.com
      #  - LETSENCRYPT_HOST=teamcity.yourdomain.com
      #  - LETSENCRYPT_EMAIL=your.email@yourdomain.com
     ports:
       - "8111:8111"
  teamcity_agent1:
    image: jetbrains/teamcity-agent:2023.05.2
    container_name: teamcity-agent-1
    user: root
    volumes:
      - ./agent1/conf:/data/teamcity_agent/conf
      - ./agent1/volumes:/var/lib/docker
    environment:
      - SERVER_URL=http://teamcity:8111
      - DOCKER_IN_DOCKER=start
    ports:
      - "9090:9090"
    privileged: true
volumes:
  dockervolumes:

启动

Teamcity默认端口是8111,Teamcity Agent默认端口是9090,我们这边打开Teamcity,输入服务器地址和端口号即可访问,如http://127.0.0.1:8111

在这里插入图片描述
因为我已经登录过了,这是重启后的界面,点击Proceed
在这里插入图片描述

上图是在初始化中,耐心等待1分钟左右即可

选择数据库,因为我们启动的是Mysql,所以这里选择Mysql
在这里插入图片描述

如果使用的是我提供的带Mysql的docker-compose文件,输入以下信息

Database host:本机IP:3306
Database name:teamcity
User name:teamcity
Password:teamcity

如果用的是您自己的数据库,输入对应信息即可
在这里插入图片描述

如果报错提示:No suitable JDBC driver found for database type: MySQL

这是因为没有数据库连接驱动,点击Download JDBC driver
在这里插入图片描述

连接成功后,teamcity会初始化服务组件
在这里插入图片描述

初始化完成后,有一份许可协议,右侧浏览器滚动条拉到底,勾选 Accept license agreement 点击Continue
在这里插入图片描述

创建超管用户账户和密码

这边输入账号密码即可
在这里插入图片描述

忘记密码

如果某天创建的密码忘记了,可在日志中找到超管Token,用Token直接登录就行

保证容器运行的情况下输入

docker logs jetbrains-teamcity | grep “token”

会得到如下输出:
在这里插入图片描述

[TeamCity] Super user authentication token: 2060541101255140985 (use
empty username with the token as the password to access the server)

其中2060541101255140985就是超管token,这个token不会变,重启后也不会变,安装后就不会变了,可以搜索日志得到,再用token填到Password处,直接登录,不需要输入Username

登录后再修改
在这里插入图片描述

点击右上角Administration,找到左边User Management里的Users,找到自己的用户名,图中标记3的地方
在这里插入图片描述

输入密码再保存就好了
在这里插入图片描述

结尾语

下篇准备写teamcity的用法,配置应用和打包,webhook等

因为teamcity不支持钉钉、企业微信等通知,所以得自己写插件,我之前写过一个,有机会分享给大家,欢迎给我留言

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值