jekins 实践 & springboot构建部署

506 阅读2分钟

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配置

  1. 全局环境变量: /etc/profile
  2. 当前用户环境变量: ~/.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密钥

  1. jekins访问远程服务器的代码仓库,使用ssh 登陆, ssh user@host 但是每次使用密码
  2. 使用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 浏览"

测试:curl http://ip:8889/test/heart?a=jessy

查看日志:docker logs containerId