linux安装jenkins之二

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/QQ934072160/article/details/102753248


一、部署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 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
    c936d800de174f2a82bab8e4d656017e
exit

6、选择“Select plugins to install”

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

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

9、Create First Admin User
admin / admin

完成安装

10、插件管理(15分钟左右安装完成)
Subversion
Publish Over SSH
Maven Integration


重启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

12、凭据
增加SVN用户(拉取代码的账号密码)

13、系统设置

Publish over SSH
Passphrase: 
SSH Server
    Name: 119.3.48.***
    Hostname: 119.3.48.***
    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

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

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

Goals:
-U
clean
package
-P functional(production生产)


18、Send build artifacts over SSH
    Name:  192.168.26.***
    Source files:  projects/testproject/target/testproject.war
    Remove prefix:  projects/testproject/target/
    Remote directory:  /testproject/
    Exec command:  
cp /app/docker_v/jenkins_home/workspace/testproject/Dockerfile /app/docker_v/testproject/
docker stop testproject
docker rm testproject
docker rmi testproject
cd /app/docker_v/testproject/
docker build -t testproject .
docker run --name testproject -v /apt/docker_v/testproject/logs:/usr/srm/logs -d -p 8088:8080 testproject

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

备注:

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 testproject.war /usr/local/tomcat/webapps/
VOLUME "/usr/srm/logs"
CMD ["catalina.sh", "run"]
EXPOSE 8080

猜你喜欢

转载自blog.csdn.net/QQ934072160/article/details/102753248