Jenkins阿里云服务器一键部署

安装jenkins

Jenkins介绍

复制代码
Jenkins是一个广泛用于持续构建的可视化web工具,可用于自动化与构建、测试、交付或部署软件相关的各种任务。
可以通过安装包、tomcat、java、docker方式进行安装使用

官方地址:https://jenkins.io/

Jenkins下载安装

这里通过tomcat来启动Jenkins

下载

到官网https://jenkins.io/download/ 下载war包

部署到tomcat

复制war包到tomcat的webapps目录下,启动tomcat

解锁

访问ip:port/jenkins网页,根据提示解锁Jenkins,把相应的文件内容到页面

复制代码
$ cat /Users/Shared/Jenkins/Home/secrets/initialAdminPassword
xxxxxxxxx

设置用户

解锁成功后,跳转到设置用户页面,设置用户名密码

安装默认插件

然后提示安装插件,选择默认的安装,等待安装完成。有些插件可能安装失败,提示要求升级最新版本Jenkins,升级成功后可以安装成功。

全局配置

点击 >系统设置>全局工具配置

配置maven、JDK、Docker、git

配置前先在centos安装好maven、jdk、docker,然后在配置时选对版本号及安装路径

springboot项目

代码

项目地址:https://gitee.com/yimingkeji/docker-springboot

Dockerfile内容:

复制代码
#FROM openjdk:8-jdk-alpine
FROM hub.c.163.com/dwyane/openjdk:8
VOLUME /tmp
ADD docker-springboot-1.0-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

然后上传到自己的git地址

使用Jenkins部署项目到docker

构建步骤中,添加2个步骤

  • 1.顶级maven 选择maven版本(上面的全局配置中配的maven),添加maven打包命令

    clean install -Dmaven.test.skip=true

  • 2.执行shell 添加shell:

    #!/bin/bash -il
    mvn docker:build
    echo "当前docker 镜像:"
    docker images | grep dockerspringboot
    echo "启动容器----->"
    docker run -p 8001:8001 -d dockerspringboot
    echo "启动服务成功!"

执行构建并启动服务

上面配置完成后,到Jenkins主页,选择配置好的项目,菜单中点击立即构建

改造shell脚本

如果下次构建该项目的时候,docker镜像和服务已存在,需要先删除镜像和服务

复制代码
# 先删除之前的容器
echo "remobe old container"
docker ps -a | grep dockerspringboot | awk '{print $1}'| xargs docker rm -f
# 删除之前的镜像
echo "romove old image"
docker rmi dockerspringboot
# 构建镜像
mvn docker:build
# 打印当前镜像
echo "current docker images"
docker images | grep dockerspringboot
# 启动容器
echo "start container"
docker run -p 8001:8001 -d dockerspringboot
# 打印当前容器
echo "current container"
docker ps -a | grep dockerspringboot
echo "star service success!"

输出日志:

复制代码
+ echo 'current docker images'
current docker images
+ docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED                  SIZE
dockerspringboot               latest              8c9f93a324c0        Less than a second ago   657MB
<none>                         <none>              3f24ff705b46        2 hours ago              657MB
<none>                         <none>              e276f4ef3cc5        2 days ago               657MB
<none>                         <none>              02b677ad12e1        2 days ago               657MB
nginx                          latest              dbfc48660aeb        4 weeks ago              109MB
mongo                          latest              a41c82c0998a        2 months ago             380MB
redis                          3.2                 e2e6164a20de        4 months ago             76MB
hub.c.163.com/library/nginx    latest              46102226f2fd        19 months ago            109MB
mysql                          5.7                 9e64176cd8a2        19 months ago            407MB
hub.c.163.com/library/mysql    5.7                 9e64176cd8a2        19 months ago            407MB
hub.c.163.com/dwyane/openjdk   8                   96cddf5ae9f1        2 years ago              641MB
+ echo 'start container'
start container
+ docker run -p 8001:8001 -d dockerspringboot
0b79b907e9ca49831bd9259eeea2c60ec40132342b2ed3c00d4cf183756d6610
+ echo 'current container'
current container
+ docker ps -a
+ grep dockerspringboot
0b79b907e9ca        dockerspringboot              "java -Djava.securit..."   1 second ago        Up Less than a second      0.0.0.0:8001->8001/tcp     happy_johnson
+ echo 'star service success!'
star service success!
Finished: SUCCESS

参考文档:

使用jenkins部署

https://my.oschina.net/yimingkeji/blog/2878371

CentOS安装Maven

https://blog.csdn.net/cynhafa/article/details/89854936

jenkins执行shell命令提示找不到命令解决办法

https://blog.csdn.net/weixin_34304013/article/details/85987309

CentOS 7 下安装 Docker 及操作命令

https://www.linuxidc.com/Linux/2019-05/158742.htm

将本地项目上传到码云教程

https://www.jianshu.com/p/3e0b213ab03d

用传统方法将修改后的代码提交到码云

依次输入:

  • git add .
  • git commit -m "提交信息"
  • git push
  • 使用git push origin master ,将本地仓库推送到远程仓库

查看所有的容器:docker ps -a

查看容器ip:docker inspect 容器id

相关推荐
程序员杰哥1 天前
UI自动化测试:Jenkins配置
自动化测试·软件测试·python·测试工具·职场和发展·jenkins·测试用例
wangfenglei1234561 天前
jenkins搭建docker启动
jenkins
snow@li1 天前
服务器运维:K3S 下 Jenkins ↔ GitLab 的 CI/CD 闭环 / 访问成功
运维·gitlab·jenkins
qq_349447952 天前
Jenkins如何创建一个只能查看固定项目的账号
运维·jenkins
qq_349447953 天前
阿里云centos7.9系统安装jenkins
服务器·阿里云·jenkins
qq_349447954 天前
jenkin节点创建
jenkins
飞翔的熊blabla6 天前
# Webpack 5 + Jenkins 持久化缓存实战:前端构建从 288 秒降到 30 秒>
前端·webpack·jenkins
海兰7 天前
Elasticsearch ES|QL:让全文本搜索无处不在
大数据·elasticsearch·jenkins
IT界的老黄牛7 天前
Jenkins 监控一条龙:接入、看板 9964、11 条告警规则直接抄走
jenkins·grafana·prometheus·监控·ci-cd·告警规则