概述
在开发一个软件的过程中,测试或者项目经理经常需要得到软件的最新版本.如果每次都是开发手动编译给他们,有点浪费时间,也不科学.所以这个任务可以交给计算机来作,每当你有代码提交的时候或者每当系统定期检测到有代码更新的时候,系统自动进行编译打包,并可以通过浏览器来下载最新的软件版本。你也许会说,这个不是持续集成的一部分么?哈哈,的确是。
这里使用的CI(持续集成)软件是 Jenkins CI,以前叫做Hudson ci后来迫于oracle的相关政策,年初的时候改名了。https://github.com/jenkinsci 这里是其代码.其实CI囊括的东西远远不止自动编译了,还可以有代码提交后的自动化测试,生成各种测试报告,自动打包部署等等。
安装配置
- 安装java环境,linux环境参考[linux安装jdk环境]
- 如果使用ant,则需要安装ant,下载ant
- 安装tomcat
- 安装部署jenkins,将下载好的jenkins.war包拷贝到tomcat/webapps目录下即可
- 启动tomcat
$ $TOMCAT_HOME/bin/catalina.sh run
启动成功,可以从浏览器中输入http://localhost:8080/jenkins,就可以正常访问jenkins控制页面
jenkins 配置
进入Manager Jenkins页面
点击jenkins主页上的Manager Jenkins链接,则显示如下图界面:
进入Configure System页面
备注:
1、配置JDK installations
name:jdk名称,最好与你安装的jdk名称版本一致,如:jdk1.6.0_30
JAVA_HOME:jdk的安装路径,如:/home/denghp/software/jdk1.6.0_30
2、配置Ant installations
name: ant名称,最好与你安装的jdk名称版本一致,如:apache-ant-1.8.2
ANT_HOME:ant的安装路径,如:/home/denghp/software/apache-ant-1.8.2
3、配置Maven installations
name: maven名称
MAVEN_HOME:maven的安装路径,跟JAVA_HOME,ANT_HOME类似
配置Jenkins URL
http://localhost:8080/jenkins/
配置邮件通知E-Mail Notification
邮件通知,主要是在编译,部署项目失败,成功时发送邮件通知.
构建工程
创建项目
在jenkins的主页上选择,New Job链接,建立一个项目。填入一个项目名,选择Build a free-style software project,点击ok创建即可。
项目配置
在创建项目单击ok按钮后会自动调整到配置项目页面,其配置如下图,单击save按钮保存。
备注:
1、Discard Old Builds
1.1、Days to keep builds 保留最近多少天的构建
1.2、Max # of builds to keep 保留多少个builds结果
2、填写Subversion说明
2.1、Repository URL为svn资源的访问地址
2.2、Local module directory(optional)是自动生成
备注:
1、勾选Poll SCM选项出现Schedule选项
1.1、Schedule选项为当svn代码库代码发生修改后多长时间开始执行hudson重构,值 * * * 表示代码更新一分后开始执行hudson重构。具体的格式说明单击 进行查看
部署
jenkins部署方式支持多种: 1、可以使用ssh,加shell命令进行部署 2、可以使用tomcat-manager方式进行部署,下面介绍下tomcat-manager部署方式: 需要部署的tomcat使用manager模块管理,配置conf/tomcat-user.xml如下:
<?xml version='1.0' encoding='utf-8'?><tomcat-users><rolerolename="admin"/><rolerolename="admin-gui"/><rolerolename="admin-script"/><rolerolename="manager"/><rolerolename="manager-gui"/><rolerolename="manager-script"/><rolerolename="tomcat"/><userusername="admin"password="admin"roles="admin,admin-gui,admin-script,manager,manager-gui,manager-script"/></tomcat-users>
进入tomcat manager管理界面就OK
Jenkins 使用Tomcat部署配置
备注:
1、Deploy war/ear to a container 部署war/ear到容器中
2、WAR/EAR files 配置war或者ear的名称
3、Context path 解压后的项目路径名称
4、Container 容器,包括:tomcat,jobss, Glass Fish,这里使用tomcat
4.1、Manager user name , Manager password, Tomcat URL 指定tomcat管理员用户名,密码,URL地址
Jenkins权限配置
配置经过验证的用户才能进行页面的操作,如下图: 说明:
1、打开全局配置页面
勾选Enable security选项
当选中Enable security后会出现Security Realm和Authorization两个选项
2、在Security Realm中选择Jenkins own user database,同时选中Allow users to sign up(容许进行用户注册,因为刚开始时没有注册用户,当进行了全部用户注册后可以把这个选择项去掉)
3、在Authorization中选择Logged-in users can do anything,让登陆后才能做任何事情,单击save按钮后,在页面右上角有login和sign up链接
4、单击sign up链接进行登陆注册,
注册成功后会自动跳转到登陆页面,或者单击有上角的login链接进入登陆页面
创建其他用户并设置权限
1、首先创建用户
2、然后设置每个用户的权限
相关推荐
1、k8s最新版本1.24.3基于containerd搭建集群 2、集成buildkit、nerdctl工具构建镜像 3、基于Oracle JDK11,使用jlink工具精简JRE包,自定义容器镜像 4、部署基于NFS的StorageClass,作为共享存储,Docker Registry...
【标题】"基于Jenkins构建微服务发布平台"的核心概念是利用Jenkins这一持续集成/持续部署(CI/CD)工具来搭建一个自动化部署微服务的环境。在现代软件开发中,微服务架构已经成为一种主流设计模式,它将大型应用程序...
基于Jenkins集成Ansible与Gitlab实现高可用环境下Wordpress的自动化部署简介Jenkins下建立并运行Pipeline Job,从Gitlab主机拉取剧本到Ansible主机,实现Nginx+Keepalived+MySQL+PHP-+Wordpress自动化部署交付;...
如果测试通过,则Jenkins会进一步调用Ansible Playbook将应用部署到生产环境。 3. **自动化运维**:Ansible负责管理生产环境的服务器集群。运维人员可以通过编写Playbook定义服务器的配置、安装所需的软件包等操作...
jenkins程序(192.168.1.93) 检查到代码更新,自动构建编译spingboot项目生成war,并将war包通过ssh传到服务器(这里没多余的机器,还是用192.168.1.93)进行部署 利用写好的Docker和构建脚本,生成新的docker镜像...
3. **持续集成与部署**:采用Jenkins或GitLab CI/CD实现自动化测试和部署。 五、安全与运维 1. **安全性**:使用HTTPS协议,防止数据泄露;引入OAuth2进行身份验证和授权。 2. **运维监控**:利用Zabbix或...
10. **持续集成/持续部署(CI/CD)**:为了确保代码质量并实现快速迭代,可以采用Jenkins、GitLab CI/CD等工具进行自动化构建和部署,确保每次代码提交都能顺利运行并部署到测试或生产环境。 通过以上步骤,你就成功...
本项目是一个部署于Kubernetes集群的MLOps流水线系统,利用Jenkins搭建流水线,通过Seldon部署模型,并结合Istio进行网管控制。项目包含Prometheus用于集群性能监控,以及Grafana用于监控数据可视化。 ## 项目的...
- **集群部署**:提供一键式部署流程,帮助用户快速搭建Cetus集群。 - **资源监控**:实时显示各节点的CPU、内存、磁盘空间等资源使用情况,便于性能调优。 - **任务管理**:可视化调度和管理数据处理任务,包括...
环境搭建是进行大数据分析的基础,确保能够有效地运行各种工具和算法。下面将详细阐述大数据分析的关键知识点以及如何搭建一个高效的大数据环境。 1. **大数据组件与技术** - **Hadoop**:Apache Hadoop 是大数据...
在本项目中,“基于vue+springboot搭建的一个前后端分离的在线教育平台”是一个综合性的IT解决方案,旨在创建一个高效、交互性强的在线学习环境。这个项目采用了现代Web开发技术,将前端和后端分离,使得开发、维护...
`kubeadm`简化了集群部署过程,但依然需要对Kubernetes架构有基本理解。 5. **网络配置**:在Raspberry Pi集群中,必须正确配置网络以实现节点间的通信。可能需要设置Flannel或Calico等CNI(Container Network ...
1. Jenkins环境搭建:讲解如何在不同操作系统上安装Jenkins,以及配置Java运行环境。 2. Jenkins基本操作:包括创建、配置和管理Job,理解Pipeline语法,以及使用工作空间和构建历史。 3. 版本控制集成:介绍如何...
- **自动化部署**:使用Jenkins、GitLab CI/CD等工具实现持续集成和持续部署,确保代码变动能够快速且稳定地部署到生产环境。 - **容器化**:采用Docker进行服务的容器化封装,便于在不同环境中一致地运行服务,同时...
【标题】中的“基于Docker的资源调度及应用容器集群管理系统设计与实现1”表明了本文将探讨如何利用Docker技术来设计和实现一个资源调度和应用容器集群管理的系统。 【描述】中提到的“系统开发背景”、“国内外...
对于微服务架构,Jenkins可以与Kubernetes紧密结合,实现基于GitOps的工作流,即通过声明式配置来管理Kubernetes资源,每次代码更改都会触发Jenkins构建,最终将更新部署到Kubernetes集群中。 总结起来,Spring...
【Dubbo介绍与搭建学习】 Dubbo是一款由阿里巴巴开源的高性能...在实际项目中,还可以结合其他微服务框架(如Spring Cloud)、容器技术(如Docker)、持续集成/持续部署工具(如Jenkins)等,构建更复杂的分布式架构。
2. **集群搭建与管理**:掌握在不同环境(如本地、AWS、GCP或Azure)下设置Kubernetes集群的方法,理解Master节点和Worker节点的角色,以及etcd、API Server、Controller Manager和Scheduler等关键组件的工作原理。...
另外,可能还有负载均衡和集群部署方案,以应对高并发访问,保证服务的稳定性和可用性。 9. **测试与部署**:开发过程中,单元测试、集成测试必不可少,确保每个模块的正确性。部署时,可能采用Docker容器化技术,...
5. **Redis与集群搭建**:详细讲解Redis的高可用集群搭建方法、数据类型以及分布式一致性问题。 6. **工具安装与配置**:包括Git、ELK、Jenkins、Confluence、Kafka、RocketMQ等工具的安装和配置。 7. **运维监控与...