Jekins 安装
docker run -u root --rm -d -p 8081:8080 -p 50000:50000 -v /var/jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
查看容器
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
905c1c9bb7af jenkinsci/blueocean "/sbin/tini -- /usr/…" 6 seconds ago Up 5 seconds 0.0.0.0:50000->50000/tcp, :::50000->50000/tcp, 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp busy_hypatia
进入容器
docker exec -it 905c1c9bb7af bash
查看登陆默认密码
bash-5.1# cd /var/jenkins_home/secrets
bash-5.1# cat initialAdminPassword
926eb621a8d54eb689dcdb0860ce8bb6
jekins 打包地址:jobs目录
cd /var/jenkins_home/workspace/build2
Jekins的使用
选择安装默认插件
创建一个任务
jdk&maven配置
- 全局环境变量: /etc/profile
- 当前用户环境变量: ~/.bashrc
配置如下环境变量:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
测试环境变量:echo $JAVA_HOME
生成ssh密钥
- jekins访问远程服务器的代码仓库,使用ssh 登陆, ssh user@host 但是每次使用密码
- 使用ssh-keygen生成的密钥对,让好将公钥添加到目标主机的 ~/.ssh/authorized_keys 文件中,当前主机成为可信任的主机,下次使用ssh登录时,就不用输入密码了
ssh-keygen -t rsa
在 .ssh目录下生成 id_rsa 和 id_rsa.pub 拷贝 id_rsa.pub 到远程服务器
配置密钥
构建操作:shell
构建step操作:shell
#!/bin/bash
echo "开始运行"
echo "停止app"
docker stop app
echo "删除容器app"
docker rm app
echo "删除镜像 build2-0.0.1:latest"
docker rmi -f build2-0.0.1:latest
cd /var/jenkins_home/workspace/build2
docker build -f Dockerfile -t build2-0.0.1:latest .
echo "新容器id:"
docker create --name app -p 8889:8889 -v /tmp/accout:/tmp/accout build2-0.0.1:latest
echo "启动容器名:"
docker start app
echo "执行完毕,浏览器打开IP:8889 浏览"