今年下半年头像
关注

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

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/qq_29467891/article/details/165458211

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--