搭建jenkins

1、rpm卸载
rpm -e jenkins
2、检查是否卸载成功
rpm -ql jenkins

https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
链接: https://pan.baidu.com/s/15kG-Jj7ekWTowew5aryyfQ 提取码: e15q

jenkins-2.223-1.1.noarch.rpm
rpm -ivh jenkins-2.223-1.1.noarch.rpm

vi /etc/sysconfig/jenkins
JENKINS_USER=“root”
JENKINS_PORT=“8082”

whereis jenkins
cd /usr/lib/jenkins
sudo service jenkins start

systemctl start jenkins.service
systemctl status jenkins.service
systemctl stop jenkins.service

登录
ip:8082
– 获取密码
cat /var/lib/jenkins/secrets/initialAdminPassword

系统管理-> global(全局) -> setting --> /usr/local/maven/setting/settings-162.xml
-> jdk /usr/local/jdk/jdk1.8.0_271
-> maven /usr/local/maven/soft/apache-maven3.6.1
-> git Default /usr/bin/git
系统管理-> 插件管理 -> 可选插件 -> maven -> Maven Integration -> 直接安装
–> SSH (远程执行脚本)
–> Publish Over SSH (远程部署,远程上传包,jenkins跟服务器不在同一个环境)

    -> 系统配置 -> ssh ->   10.100.2.xxx 22
	-> 系统配置 -> Publish over SSH ->  SSH Servers ->  === 目前未用

添加凭据 -> (root) ->返回到凭据 --> 全局 root xxxxx,

新增视图 ==> 列表视图 ==> 新增maven项目
–> 丢弃旧的构建 3 3
–> 源码管理 git http://git.xgit.com.cn/iot-back/iot-server.git
(会构建代码到当前jenkisn所在目录/home/jenkins_home/workspace/iot-server-xxx)
–> Build iot-service/pom.xml -Dmaven.repo.local=/root/,m2/repository -DskipTests=true clean install -P nexus -e -U
=== pom 在工作空间下找
–> Post Steps Execute shell script on remote host using ssh
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
上面三个大码 shell脚本样例

#! /bin/bash
# 定义变量
API_NAME=xxx-server
IP=1xx
JAR_NAME=xxx-server.jar

# 进入挂载目录
rm -rf /opt/xx/$API_NAME/$JAR_NAME
cp /home/jenkins_home/workspace/$API_NAME-$IP/target/$JAR_NAME /opt/xx/$API_NAME/
cp /home/jenkins_home/workspace/$API_NAME-$IP/Dockerfile  /opt/xx/$API_NAME/
#!/usr/bin/expect -f
# Script From Chenkl. Use SCP Push A File To The Target Host. Need Install expect.
# First Param Is Target Host Username@IP.
# Second Param Is Target Host Directory.
# Third Param Is Local Host File.
# Fourth Param Is Target Host Password.
set timeout 30
spawn scp -r /opt/xx/xx-server root@192.xx.x.xxx:/opt/xxx
expect {
        "passphrase"
        {
                send "password\n";
        }
        "password"
        {
                send "password\n";
        }
        "yes/no"
        {
                send "yes\n";
                exp_continue;
        }
}
expect eof
#! /bin/bash
# 定义变量
API_NAME=xx-server
API_VERSION=1.0
API_PORT=90xx
IMAGE_NAME=xx-server:1.0
CONTAINER_NAME=$API_NAME
JAR_NAME=xx-server.jar
ALIYUN_IMAGE_NAME=xx-server-1.0.127.001

# 删除Docker容器
docker stop $API_NAME
docker rm -f $API_NAME

sleep 5

# 删除Docker镜像
docker rmi $IMAGE_NAME


# 构建Docker镜像
cd /opt/xgit/$API_NAME/
docker build -t $IMAGE_NAME .

# 根据名称获取镜像名称获取镜像ID
IMAGE_ID=`docker images -q --filter reference=$IMAGE_NAME`

echo $IMAGE_ID

# 推送Docker镜像
docker tag $IMAGE_ID registry.cn-shanghai.aliyuncs.com/xxx/xxx:$ALIYUN_IMAGE_NAME
docker push registry.cn-shanghai.aliyuncs.com/xxx/xxxx:$ALIYUN_IMAGE_NAME
echo "推送Docker镜像成功"
echo registry.cn-shanghai.aliyuncs.com/xxx/xxx:$ALIYUN_IMAGE_NAME

# 启动Docker容器
docker run -d -m 2048M --net host -v /opt/xx:/opt/xx-e  PARAMS="--spring.profiles.active=dev --spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 --spring.cloud.nacos.config.server-addr=127.0.0.1:8848 --spring.cloud.nacos.config.file-extension=yaml --spring.cloud.nacos.config.group=DEFAULT_GROUP"  -e "SPRING_PROFILES_ACTIVE=dev" --name $CONTAINER_NAME $IMAGE_NAME

dockerFile

FROM registry.cn-shanghai.aliyuncs.com/xxxx/library:jdk-1.8

MAINTAINER zxy@gmail.com

RUN mkdir -p /xxx-server

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai"

#定义时区参数
ENV TZ=Asia/Shanghai

WORKDIR /xxx-server

ENV PARAMS=""

EXPOSE 90xx
EXPOSE 50xx

#设置环境变量
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

ADD ./xxx-server.jar ./app.jar

ENTRYPOINT java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=50xx -Djava.security.egd=file:/dev/./urandom -jar ./app.jar $PARAMS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值