Jenkins
是一个开源的持续集成和交付工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用的Web界面,帮助开发团队自动化构建、测试和交付应用程序。
Jenkins 具有以下主要特点和功能
:
自动化构建
:可以通过配置构建任务来自动构建项目代码,包括编译、打包、测试等过程。持续集成
:可以与版本控制系统(如Git、SVN等)集成,实时监测代码变更,并触发自动构建和测试。插件扩展
:Jenkins 提供了大量的插件,用于扩展其功能,支持各种不同的构建、测试和部署场景。可视化界面
:提供了直观的图形界面,用于管理和监控构建任务、查看构建日志和报告等。安全性和权限控制
:可以配置用户权限和安全策略,确保只有授权的人员能够访问和操作 Jenkins。通过使用
Jenkins
,开发团队可以实现持续集成和交付,提高软件开发的效率和质量。它广泛应用于各种软件开发项目,包括Web应用程序、移动应用程序、嵌入式系统等。
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
yum install fontconfig java-11-openjdk
yum install jenkins
# 启动Jenkins
systemctl start jenkins
# 设置开机启动
systemctl enable jenkins
# 查看Jenkins状态
systemctl status jenkins
游览
打开浏览器输入链接:http://localhost:8080 , 默认端口号是8080
查看密码
# 查看密码
cat /var/lib/jenkins/secrets/initialAdminPassword
# 安装
[root@rancher bin]# yum -y install git
# 查看版本
[root@rancher bin]# git --version
git version 2.27.0
# yum安装git被安装在/usr/libexec/git-core目录下
下载命令
wget https://dlcdn.apache.org/maven/maven-4/4.0.0-alpha-7/binaries/apache-maven-4.0.0-alpha-7-bin.tar.gz
将安装包移动到/usr/local/目录下
mv apache-maven-4.0.0-alpha-7-bin.tar.gz /usr/local/
解压、安装
# 进入/usr/local/目录
cd /usr/local
# 解压
tar -zxvf apache-maven-4.0.0-alpha-7-bin.tar.gz
# 重命名
mv apache-maven-4.0.0-alpha-7 maven
# 删除安装包
rm -rf apache-maven-4.0.0-alpha-7-bin.tar.gz
# 进入maven目录
cd /usr/local/maven/
# 创建目录 repo
mkdir repo
# 配置本地仓库
# 编辑conf/settings.xml 文件
vim conf/settings.xml
# 添加本地仓库配置
<localRepository>/usr/local/maven/repo</localRepository>
# 注释掉原本的镜像 添加阿里云镜像
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
esc :wq保存并退出
vim /etc/profile
# 新增
export MAVEN_HOME=/usr/local/maven
export PATH=${JAVA_HOME}/bin:${CATALINA_HOME}/bin:${MAVEN_HOME}/bin:$PATH
# :wq
# 刷新
source /etc/profile
# 测试
mvn -version
#安装依赖
yum -y install epel-release
#安装PIP
yum -y install python-pip
#升级PIP
pip install --upgrade pip
curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加权限
chmod +x /usr/local/bin/docker-compose
# 运行
docker-compose
安装命令如下:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
ssh-keygen -t rsa
查看秘钥
[root@rancher git-core]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCoQ1yhxX/1OQ9rb1ySIqNOpby6jsW3JqpW9uZgVnpUx3ssYrIPR8TAgFKy1jZVqimd8rvJzE7QBmnFI+GKsLEIsykAhxT69M6z5LYor1CxwdS4BY5edVfo1L9uHXFIyYJ2etz2ZVqjGCYvovXum1WEOv+QLcAK3xFn7NF/hKxBWKwgHWMiSXbuq57h81ulsNxaQa8wM7YcBlt9MWiA+R5LfkLTD2ViGQN4yXSVapNappb5H4Fn+JnkB+R886oQeGdt71NXzTAqZzAkj1zVKRxf6WPTPauhIFV6Sj4W+1SYnEMOfkL2soJAmJULIsUQ9q9NFjERY6Er8ESQuYlH+e2ctGyr6ydPgvqXrrt+UgspIfbwuguDscJ9Ux2GCr0xpNYF7V8JBN+MWEyWolSM26+ZGw1Qan8i3DQVbtiWZ8oY9leclKt53IuseQ22upqSD/sF05dItdw/pj8IYMPlLUpS06U1ePED2yt1vku1quFiodvkUq8zwP4/ise1Pr0wcic= root@rancher
打包成功之后将jar包使用Dockerfile编排文件打包为镜像,然后推送到阿里云私有仓库,然后通知rancher升级版本,执行重新部署
echo "打包成功"
cd /var/lib/jenkins/workspace/project/target
echo "打包为docker镜像------start"
cp /Dockerfile /var/lib/jenkins/workspace/project/target/
docker build --build-arg JAR_NAME=spring-k8s-2023.jar -t spring-k8s-2023 .
echo "打包为docker镜像------end"
TAG=$(date +'%Y%m%d%H%M%S')
echo "镜像名称为:spring-k8s-2023:$TAG"
docker tag spring-k8s-2023 registry.cn-hangzhou.aliyuncs.com/personal_xiang/spring-k8s-2023:$TAG
echo "推送到阿里云仓库------start"
docker login --username=15085938784 --password="XIANGXIANG401" registry.cn-hangzhou.aliyuncs.com
docker push registry.cn-hangzhou.aliyuncs.com/personal_xiang/spring-k8s-2023:$TAG
echo "推送到阿里云仓库------end"
# 更新镜像
echo "开始将新镜像部署到远端!"
echo "$TAG"
/usr/bin/rancher kubectl set image deployment/spring-k8s-2023 spring-k8s-2023=registry.cn-hangzhou.aliyuncs.com/personal_xiang/spring-k8s-2023:$TAG -n jenkins
[ $? != 0 ] && echoRed "请注意,在执行镜像更新时出错,故而退出!" && exit 1
echo "部署完成!"
# Dockerfile
FROM openjdk:8-jdk-alpine
COPY ./spring-k8s-2023.jar ./app/spring-k8s-2023.jar
WORKDIR /app
CMD ["java", "-jar", "spring-k8s-2023.jar"]
解决办法: Liunx/CentOS7 上安装好 Jenkins 后无法访问的问题