栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

DevOps-jenkins

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DevOps-jenkins


一、部署Jenkins

1、拉取Jenkins镜像
docker pull jenkins/jenkins:lts

2、查看端口占用情况
列出所有端口
netstat -ntlp
查看8080端口占用情况
lsof -i tcp:8080

3、创建并启动一个Jenkins容器
mkdir -p /app/docker_v/jenkins_home
chown -R 1000:1000 /app/docker_v/jenkins_home
docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v /app/docker_v/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins:lts

#若需要创建多个jenkins,重新创建目录,修改端口;
#docker run -d -p 9090:8080 -p 50001:50000 --name jenkins2 -v /app/docker_v/jenkins_home2:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins:lts

说明:映射本地数据卷时,先修改下目录权限,因为/app/docker/jenkins_home目录的拥有者为root用户,而容器中jenkins user的uid为1000

4、从浏览器进入Jenkins
http://119.3.48.17:8080

5、进入jenkins容器
docker exec -it jenkins /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
    3420a8c86538409c9438dcce8c86cd15
exit

6、选择“Select plugins to install”

7、选择“None”,取消选择所有Plugin。

8、点击右下角“Install”按钮。

9、Create First Admin User
admin / admin

完成安装

2、插件管理(15分钟左右安装完成)
Localization: Chinese (Simplified)
Subversion
Publish Over SSH
Maven Integration
Role-based Strategy


重启jenkins
http://192.168.26.129:8080/restart

11、全局工具配置
下载
chmod -R 777 /app/docker_v/jenkins_home/
cd /app/docker_v/jenkins_home/
jdk-8u111-linux-x64.tar.gz
apache-maven-3.6.0-bin.tar.gz

解压
tar -xzvf jdk-8u111-linux-x64.tar.gz
tar -xzvf apache-maven-3.6.0-bin.tar.gz
说明:全局工具配置前需要将JDK和Maven的压缩包上传到/app/docker_v/jenkins_home路径下并解压。

进入容器配置JDK
docker exec -it jenkins /bin/bash
export JAVA_HOME=/var/jenkins_home/jdk1.8.0_111
export JRE_HOME=/var/jenkins_home/jdk1.8.0_111/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
source /etc/profile
exit


Global Tool Configuration

JDK
Name: jdk1.8.0_111
JAVA_HOME: /var/jenkins_home/jdk1.8.0_111

Maven
Name: apache-maven-3.6.0
MAVEN_HOME: /var/jenkins_home/apache-maven-3.6.0

注意:maven安装完成后,需要找开发人员配置maven的配置文件,添加私服配置等(在jenkins_home里的maven安装目录里,如:/app/docker_v/jenkins_home/apache-maven-3.6.0/conf目录下的settings.xml文件)

12、凭据
增加SVN用户

13、系统设置

Publish over SSH
Passphrase: 
SSH Server
    Name: 124.70.167.38
    Hostname: 124.70.167.38
    Username: root
    Remote Directory: /app/docker_v/
    勾选Use password authentication, or use a different key
    Passphrase / Password

14、NEW 任务
ASD_TEST
构建一个自由风格的软件项目

15、Source Code Management
    Subversion
http://elementspeed.com/svn/apple/88.NewProduct/05.SOURCE/branches/asd@HEAD

注意:新建打版任务前,需要与开发人员确认项目打包模块,测试人员在如下路径添加打包pom文件;
http://119.3.15.151/svn/apple/88.NewProduct/05.SOURCE/build/pom


16、定时构建(每天早上3点自动构建)
    H 3 * * *

17、Build
17.1、调用顶层Maven目标
Maven Version:  apache-maven-3.6.0

Goals:
-U
clean
package
-P functional


18、Send build artifacts over SSH
    Name:  192.168.26.129
    #Source files:  projects/asd/target/asd-srm.war
    #Remove prefix:  projects/asd/target/
    #Remote directory:  /asd/
    Exec command:  

rm -rf /app/docker_v/qlled_test/qlled-project.war
cp /app/docker_v/jenkins_home/workspace/Qlled_Test/qlled/qlled-project/target/qlled-project.war /app/docker_v/qlled_test

rm -rf /app/docker_v/qlled_test/qlled.war
cp /app/docker_v/jenkins_home/workspace/Qlled_Test/qlled/qlled-project/target/qlled-project.war /app/docker_v/qlled_test
cd /app/docker_v/qlled_test/
docker stop qlled
mv qlled-project.war qlled.war
docker rm qlled
docker rmi qlled
cd /app/docker_v/qlled_test/
docker build -t qlled .
docker run --name qlled -v /app/docker_v/qlled_test/logs:/usr/local/tomcat/logs -v /app/docker_v/qlled_test/logs:/app/srm/logs -v /app/docker_v/qlled_test/logs:/usr/srm/logs -v /app/srm/file/template:/app/srm/file/template -v /app/srm/file/template/factoryinspect/score:/app/srm/file/template/factoryinspect/score -v /app/srm/file/upload:/app/srm/file/upload -d -p 9092:8080 qlled

19、创建文件夹
mkdir -p /opt/docker_v/asd/
mkdir -p /opt/docker_v/asd/logs
chmod -R 777 /opt/docker_v/asd/
chmod -R 777 /opt/docker_v/asd/logs/

备注:

1、更改Docker容器内时区
# apt-get update
# apt-get install vim
# apt install tzdata
# rm /etc/localtime
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# date
# echo "Asia/Shanghai" > /etc/timezone
# cat /etc/timezone
最后重启容器

2、Dockerfile文件示例
FROM tomcat:latest
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ADD asd-srm.war /usr/local/tomcat/webapps/
VOLUME "/usr/srm/logs"
CMD ["catalina.sh", "run"]
EXPOSE 8080

20:项目部署成功后,查看日至命令;
docker logs -f --tail="150" product

21:
#######20211211
设置登录用户启动docker

sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中
newgrp docker     #更新用户组
docker ps -a    #测试docker命令是否可以使用sudo正常使用


22:迁移服务器,批量修改多个打版任务中的配置内容;

1:sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
如:cd */jenkins_home/jobs

sed -i "s/127.0.0.1/127.0.0.2/g"  `grep 127.0.0.1 -rl .config.xml`
2:jenkins -> 系统管理 ->Tools and Actions->点击:读取设置;


 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659051.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号