慵懒的早上,躺着浏览这个各种视频,想着去看牙齿呢还是去公司呢
现在我已经在公司了(与前端联调结束了) w(゚Д゚)w
吭,正题,在部署时候遇到一些问题,阻塞一天,so,记录下吧
我司用的是:k8s、jenkins、阿里云Git
一、步骤
(1)在应用中心 创建应用
这个应用中心是运维搭建
用于管理应用和连接 jenkins
(2)查看应用详情
(3)查看部署连接
1. 查看 jenkins 任务
查看是否构建,若无构建,则手动构建
2. 查看 k8s 部署
当 jenkins clone code
、copy dickerfile
、maven package
、build and push docker image
完成后
会有对应的 pods
、service
每次 jenkins构建(代码 push
)时候,要重启 k8s(即,删除对应的 pods)
3. k8s service 更改端口
4. 可进控制台查看
(4)在 阿里云 Git 中添加 jenkins 的 hook
这样每次更新代码,jenkins能监测到,从而自动构建
二、遇到的问题
(1)jenkins 无法 clone code
这是因为没有权限,有两种方法:
1. 找运维,把 jenkins 配置改下
2. 在 阿里云项目 中添加成员,我添加我们 项目组 为 develop 进我的项目
(2)jenkins 构建成功,但 k8s 上 pods 构建失败
maven 打包配置错误 (可能打包时候,少了构建 jar 包;可能应用启动错误,即找到启动类)
我碰见的是:
pom.xml 配置错误,导致找不到对应的 Application
<mainClass>com.donaldy.Application</mainClass>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.donaldy.Application</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
(3)k8s pods 不断重启
原因:
代码有错误,(这种错误 在 jenkins 构建时候无影响,但在项目启动时候出现)
我遇到的是:
因为代码没更新,读的配置文件没有配置数据源,而导致项目启动不了。
三、感受
- 一开始用的时候,哇,好神奇啊,真是好东西,运维真厉害,想多去了解些。
- 后来,遇到这几个问题,体验感下降
- 再后来,等 k8s 上应用启动,有时候要
200s
,好浪费时间啊。。。 - 再再再后来,听 同事说 这个时间貌似跟对应语言有关系,Java慢些,Go 很快的。。。( ̄□ ̄||)
- 总的来说,好东西,但要多多学习。