当前位置: 首页 > news >正文

做自媒体有哪些网站网站生成静态

做自媒体有哪些网站,网站生成静态,电影网站网页设计实训报告,手机html编辑器持续集成及Jenkins介绍 软件开发生命周期叫SDLC#xff08;Software Development Life Cycle#xff09;#xff0c;集合了计划、开发、测试、部署过程。 在平常的开发过程中#xff0c; 需要频繁地#xff08;一天多次#xff09;将代码集成到主干#xff0c;这个叫持…持续集成及Jenkins介绍 软件开发生命周期叫SDLCSoftware Development Life Cycle集合了计划、开发、测试、部署过程。 在平常的开发过程中 需要频繁地一天多次将代码集成到主干这个叫持续集成Continuous Integration简称CI有个持续集成还有持续部署Continuous Deployment。 在没有Jenkins的时候需要本地打包或者本地编译然后把改动过的文件上传到服务器然后重启服务这样是比较麻烦的特别是这次的修改文件比较多的时候有了Jenkins只需要点一下就可以实现这个功能了。 持续集成的好处 降低风险由于持续集成不断去构建编译和测试可以很早期发现问题所以修复的代价就少对系统健康持续检查减少发布风险带来的问题减少重复性工作持续部署提供可部署单元包持续交付可供使用的版本增强团队信心 Jenkins介绍 Jenkins是一款流行的开源持续集成Continuous Integration工具广泛用于项目开发具有自动化构建测试和部署等功能。中文官网https://www.jenkins.io/zh/。 Jenkins的特征 开源的Java语言开发持续集成工具支持持续集成持续部署易于安装部署配置可通过yum安装或下载war包以及通过docker容器等快速实现安装部署可方便web界面配置管理消息通知及测试报告集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过E-mail通知生成JUnit/TestNG测试报告分布式构建支持Jenkins能够让多台计算机一起构建/测试文件识别Jenkins能够跟踪哪次构建生成哪些jar哪次构建使用哪个版本的jar等丰富的插件支持支持扩展插件你可以开发适合自己团队使用的工具如gitsvnmavendocker等 Jenkins安装和持续集成环境配置 流程 开发人员每天进行代码提交提交到Git仓库Jenkins作为持续集成工具使用Git工具到Git仓库拉取代码到集成服务器再配合JDKMaven等软件完成代码编译代码测试与审查测试打包等工作在这个过程中每一步出错都重新再执行一次整个流程Jenkins把生成的jar或war包分发到测试服务器或者生产服务器测试人员或用户就可以访问应用 这里不得不说到一个东西GitLab。 GitLab是一个用于仓库管理系统的开源项目使用Git作为代码管理工具并在此基础上搭建起来的web服务。 GitLab和GitHub一样属于第三方基于Git开发的作品免费且开源基于MIT协议与Github类似可以注册用户任意提交你的代码添加SSHKey等等。不同的是GitLab是可以部署到自己的服务器上数据库等一切信息都掌握在自己手上适合团队内部协作开发简单来说可把GitLab看作个人版的GitHub。 # 安装相关依赖 [rootlocalhost ~]# yum -y install policycoreutils openssh-server openssh-clients postfix # 启动ssh服务设置开机启动 [rootlocalhost ~]# systemctl enable sshd sudo systemctl start sshd # 设置postfix开机自启并启动postfix支持gitlab发信功能 [rootlocalhost ~]# systemctl enable postfix systemctl start postfix # 关闭防火墙 [rootlocalhost ~]# systemctl disable firewalld # 在线下载安装包 [rootlocalhost ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm --no-check-certificate # 安装GitLab [rootlocalhost ~]# rpm -i gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm # 提示错误说是缺少依赖那我们安装依赖如果没有报错就不需要执行 [rootlocalhost ~]# yum -y install policycoreutils-python # 再次执行安装命令稍微等一会儿就会提示安装成功了在它给出的信息里告诉我们要去设置external_url并启动服务才能访问 [rootlocalhost ~]# rpm -i gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm # 修改域名和端口 [rootlocalhost ~]# vim /etc/gitlab/gitlab.rb # 重载配置启动GitLabreconfigure操作需要等待5分钟左右 [rootlocalhost ~]# gitlab-ctl reconfigure [rootlocalhost ~]# gitlab-ctl restart修改后的gitlab.rb文件 external_url http://192.168.216.123:8081 nginx[listen_port] 8081等GitLab启动起来浏览器访问http://192.168.216.123:8081/即可看到我们的GitLab服务了。 GitLab添加组、创建用户、创建项目 创建组 点击Create a group就可以创建一个组这里我取名叫test1_group再点击Create group按钮。 创建项目 进入刚刚创建的test1_group再点击New project创建项目取名test1_project最后点击Create project按钮创建项目。 创建用户 点击最上面的Admin Area再点击Users就进到了用户界面这里可以添加用户输入必要信息其他保持默认即可点击创建即可。在新创建用户界面右上角有个Edit可以设置用户的密码。 将新建用户添加到组里 打开刚刚创建的test1_group点击左侧的Members在搜索框里搜索刚刚创建的用户后面有个权限设置这里无关紧要后面会说随便选一个点击Add to group即可将用户加到组里。 Guest可以创建issue、发表评论不能读写版本库Reporter可以克隆代码不能提交QA、PM可以赋予这个权限Developer可以克隆代码、开发、提交、push普通开发可以赋予这个权限Maintainer可以创建项目、添加tag、保护分支、添加项目成员、编辑项目核心开发可以赋予这个权限Owner可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员开发组组长可以赋予这个权限 源码上传到GitLab仓库 首先在本地IDEA里创建一个Web项目只有一个index.html页面开启版本控制点击VCS-Enable Version Control Integration选择Git在项目上右键选择Git-Add将代码提交到缓存区点击Commit将代码提交到本地仓库此时会提示定义一个远程仓库我们点击Define remote来到GitLab找到之前创建的test1_project点击右上角Clone选择Clone with SSH的地址粘贴到IDEA中最后点击Push来到GitLab打开test1_project项目就可以看到刚刚提交的文件了 https://blog.csdn.net/qq_36551991/article/details/110352307 # 解压jdk-8u231-linux-x64.tar.gz到/opt/module/下 [rootlocalhost ~]# tar -xzvf /opt/software/jdk-8u231-linux-x64.tar.gz -C /opt/module/ # 设置环境变量 [rootlocalhost ~]# vim /etc/profile # 添加如下内容到最后 # JAVA_HOME export JAVA_HOME/opt/module/jdk1.8.0_231 export PATH$PATH:$JAVA_HOME/bin # 刷新环境变量 [rootlocalhost /]# source /etc/profile # 测试Java环境 [rootlocalhost /]# java -version # 下载Jenkins可能会很慢我用其他工具下载下来后再上传到服务器上的 [rootlocalhost software]# wget http://archives.jenkins-ci.org/redhat-stable/jenkins-2.190.3-1.1.noarch.rpm # 安装Jenkins [rootlocalhost software]# rpm -ivh jenkins-2.190.3-1.1.noarch.rpm # 修改Jenkins配置将JENKINS_USER改成rootJENKINS_PORT改成80838082端口被GitLab的一个服务占用了 [rootlocalhost software]# vim /etc/sysconfig/jenkins # 告诉jenkins服务Java服务的位置将“/opt/module/jdk1.8.0_231/bin/java”加到candidates里面 [rootlocalhost software]# vim /etc/init.d/jenkins # 重载jenkins启动配置 [rootlocalhost software]# systemctl daemon-reload # 启动Jenkins [rootlocalhost software]# systemctl start jenkins浏览器访问http://192.168.216.123:8083/即可看到Jenkins的界面了按照提示需要解锁Jenkins通过这个地址/var/lib/jenkins/secrets/initialAdminPassword获取密码输入密码后因为网络问题安装插件会很耗时这里跳过插件安装选择“选择插件来安装”然后选择“无”后面根据需要再安装就行。 创建一个管理员账户保存并完成此时就可以看到熟悉的Jenkins界面了。 我们可以利用Role-based Authorization Strategy插件来管理Jenkins用户如果是高版本的Jenkins是不需要插件的因为高版本直接集成进来了。 这里可以添加角色、用户、项目然后就是给用户添加角色给角色赋予权限角色可以访问哪些项目。 Jenkins凭证管理 凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等以便Jenkins可以和这些第三方的应用进行交互。 常用的凭证类型有Username with password用户密码和SSH Username with private keySSH 密钥。 Maven安装和配置 在Jenkins服务器上我们需要Maven来编译和打包项目首先安装Maven。 [rootlocalhost ~]# cd /opt/software/ # 下载Maven [rootlocalhost software]# wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz --no-check-certificate # 解压Maven [rootlocalhost software]# tar -zxvf apache-maven-3.8.5-bin.tar.gz -C /opt/module/ # 配置环境变量 [rootlocalhost software]# vim /etc/profile # 使环境变量生效 [rootlocalhost software]# source /etc/profile # 测试Maven是否安装成功 [rootlocalhost software]# mvn -v在/etc/profile文件的最后加上如下内容 # JAVA_HOME export JAVA_HOME/opt/module/jdk1.8.0_231 # MAVEN_HOME export MAVEN_HOME/opt/module/apache-maven-3.8.5 # 将JAVA_HOME和MAVEN_HOME加到PATH里 export PATH$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin让Jenkins关联JDK和MavenManage Jenkins-Global Tool Configuration-JDK-Add JDK填入Name和JAVA_HOME的值同理在下面的Maven也是填入Name和MAVEN_HOME的值取消勾选Install automatically最后保存。 添加全局变量Manage Jenkins-Config System-Global properties添加3个全局变量。 Tomcat安装和配置 [rootlocalhost ~]# cd /opt/software/ # 下载Tomcat [rootlocalhost software]# wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.78/bin/apache-tomcat-8.5.78.tar.gz --no-check-certificate # 解压缩 [rootlocalhost software]# tar -zxvf apache-tomcat-8.5.78.tar.gz -C /opt/module/ # 启动Tomcat [rootlocalhost ~]# cd /opt/module/apache-tomcat-8.5.78/bin/ [rootlocalhost bin]# ./startup.sh # 此时访问8080会发现访问不到好像是其台服务把8080给占用了进入conf/server.xml将8080端口改成8085就可以访问了配置Tomcat角色权限 默认情况下Tomcat是没有配置用户角色权限的点击这里会提示403错误但是后序Jenkins部署到Tomcat需要用到Tomcat的用户所以修改Tomcat的tomcat-users.xml配置文件添加用户及权限这里添加了一个用户名、密码是tomcat的用户并赋予它一些角色。 tomcat-usersrole rolenametomcat/role rolenamerole1/role rolenamemanager-script/role rolenamemanager-gui/role rolenamemanager-status/role rolenameadmin-gui/role rolenameadmin-script/user usernametomcat passwordtomcat rolesmanager-gui,manager-script,tomcat,admin-gui,admin-script/ /tomcat-users修改context.xml文件注释掉Value这一行。 !-- Valve classNameorg.apache.catalina.valves.RemoteAddrValve allow127\.\d\.\d\.\d|::1|0:0:0:0:0:0:0:1 / --重启Tomcat后访问http://192.168.216.123:8085/manager/html输入刚才添加的用户名和密码这里都是tomcat就可以看到管理界面了。 Jenkins构建Maven项目 Jenkins中自动构建类型有很多常用的有以下三种 自由风格软件项目FreeStyle ProjectMaven项目Maven Project流水线项目Pipeline Project 自由风格项目构建 拉取代码 在Jenkins里新建一个FreeStyle Project。Source Code Management选择从GitLab拉取代码并指定Credentials。 编译打包 在Build里找到Add build step选择“Execute shell”并输入以下内容ApplySave。 echo 开始编译和打包 mvn clean package echo 编译和打包结束部署 需要安装Deploy to container插件添加Tomcat用户凭证用户名密码都是tomcat。 再回到FreeStyle Project的配置里找到Post-build Actions选择“Deploy war/ear to a container”填写Tomcat URL。 最后试一下Build Now。 Maven项目构建 首先需要安装一个Maven Integration的插件然后创建一个Maven项目。设置好Source Code Management和FreeStyle Project不同的是在Build里需要指定pom.xml并设置Maven命令在Goals and options里输入clean package。在Post-build Actions里选择Deploy war/ear to a container指定war和Context path最后保存并开始构建查看结果。 Pipeline流水线项目构建 Pipeline简单来说就是一套运行在Jenkins上的工作流框架将原来独立运行于单个或者多个节点的任务连接起来实现单个任务难以完成的复杂流程编排和可视化的工作。 Pipeline脚本是由Groovy语言实现的但是我们没必要单独去学习Groovy Pipeline支持两种语法Declarative声明式和Scripted Pipeline脚本式语法 Pipeline也有两种创建方法可以直接在Jenkins的Web UI界面中输入脚本也可以通过创建一个Jenkinsfile脚本文件放入项目源码库中一般我们都推荐在Jenkins中直接从源代码控制SCM中直接载入Jenkinsfile Pipeline这种方法 Declarative声明式-Pipeline pipeline {agent anystages {stage(拉取代码) {steps {echo 拉取代码}}stage(编译构建) {steps {echo 编译构建}}stage(项目部署) {steps {echo 项目部署}}} }点击Build Now就完成了一个Pipeline项目的构建要想看到Pipeline视图还需要安装一个Pipeline: Stage View的插件。 Scripted Pipeline脚本式-Pipeline node {def mvnHomestage(Preparation) { // for display purposes// Get some code from a GitHub repositorygit https://github.com/jglick/simple-maven-project-with-tests.git// Get the Maven tool.// ** NOTE: This M3 Maven tool must be configured// ** in the global configuration.mvnHome tool M3}stage(Build) {// Run the maven buildwithEnv([MVN_HOME$mvnHome]) {if (isUnix()) {sh $MVN_HOME/bin/mvn -Dmaven.test.failure.ignore clean package} else {bat(/%MVN_HOME%\bin\mvn -Dmaven.test.failure.ignore clean package/)}}}stage(Results) {junit **/target/surefire-reports/TEST-*.xmlarchiveArtifacts target/*.jar} }node代表一个Jenkins结点Master或者是Agent是执行Step的具体运行环境后续Jenkins的Master-Slave架构会用到。 Stage代表一个阶段Pipeline执行可以划分为多个Stage每个Stage代表一组操作比如Build、Test、DeployStage是一个逻辑分组的概念。 Step代表一个步骤是最基本的操作单元可以是一个Shell脚本命令。 在Pipeline项目里有一个Pipeline语法的超链接点击过去可以看到有一些常用的Steps我们可以选择对应的模板填充上需要的参数这个Step就生成了对于不会Pipeline语法的人来说还是比较方便的。 拉取代码 编译打包 部署 将脚本复制出来。放到Pipeline脚本里的steps里应用保存。 最终的脚本如下 pipeline {agent anystages {stage(pull code) {steps {checkout([$class: GitSCM, branches: [[name: */master]], extensions: [], userRemoteConfigs: [[credentialsId: e689f397-c855-4783-9600-b990ea39ab83, url: git192.168.216.123:test1_group/test1_project.git]]])}}stage(build projct) {steps {sh mvn clean package}}stage(deploy project) {steps {deploy adapters: [tomcat8(credentialsId: f6769281-ec81-4b0b-bf5e-8921f8e7e67a, path: , url: http://192.168.216.123:8085/)], contextPath: null, war: target/*.war}}} }最后应用保存Build Now进行测试。 Pipeline Script from SCM 在Jenkins里编写脚本不方便维护有一种方式款已解决这个问题那就是把Pipeline Script放到项目里用版本控制来跟踪记录。 在项目根目录新建一个Jenkinsfile文件文件名是Jenkinsfile将刚才的内容复制进来提交代码后来到Jenkins。 ApplySaveBuild Now进行测试。 常见的构建触发器 Jenkins有4种构建触发器 触发远程构建其他工程构建后触发Build after other projects are build定时构建Build periodically轮询SCMPoll SCM 触发远程构建 打开一个项目的配置找到Build Triggers勾选“Trigger builds remotely”并输入一个Authentication Token也就是一个加密串ApplySave。 然后浏览器通过访问JENKINS_URL/job/pipeline01/build?tokenTOKEN_NAME注意把JENKINS_URL换成Jenkins的地址把TOKEN_NAME换成刚才设置的加密串把就可以发起一个Jenkins项目的构建。 其他工程构建后触发 找到Build Trigger选择“Build after other projects are build”输入其他项目的项目名ApplySave。 定时构建 定时构建就需要我们配置一个表达式Jenkins就会按照规则进行定时构建。找到Build Trigger勾选“Build periodically”这里以每分钟构建一次为例ApplySave。 轮询SCM 意思是Jenkins定时扫描代码仓库是否有变更如果有变更自动触发一次构建但是这种方式对系统的开销比较大不建议使用。 Git hook自动触发构建 前面介绍的轮询SCM方式对系统开销比较大不建议使用其实还有其他的方案可以在push代码后自动触发构建操作那就是利用GitLab的webhook来实现。 它们的区别是 轮询SCMJenkins每隔多久去问GitLab你那边有没有代码变动 webhookGitLab代码变更后通知Jenkins你该触发构建了 首先需要安装GitLab Hook插件。 找到Build Triggers勾选新出现的这个选项其他默认就可以这里需要记住webhook URLApplySave。 使用root登录GitLab依次点击Admin Area-Settings-Network勾选“Allow requests to the local network from web hooks and services”最后Save changes。 给项目添加webhook依次点击项目-Settings-Integrations输入刚才的webhook URL最后Save changes。 再来到Jenkins里Manage Jenkins-Configure System取消“Enable authentication for ‘/project’ end-point”的勾选ApplySave。 来到刚才GitLab添加webhook的地方找到Test模拟发送一个Push事件此时Jenkins里的项目就可以构建了说明配置成功。 Jenkins的参数化构建 这里定义的参数可以在Pipeline Script里使用将*/master换成*/${branch}这里的${branch}就是动态的了。 配置邮箱服务器发送构建结果 安装Email Extension和Email Extension Template插件。设置邮箱相关参数Manage Jenkins-Configure System。 设置发件人 设置插件信息 设置发件人的SMTP地址和密码等信息 最下面有一个Test configuration可以点一下试试如果配置正确的话可以成功发出邮件的。 对应Pipeline Script这里用到的是post标签关于post可以在Pipeline Syntax-Declarative Directive Generator选择“post: Post Stage or Build Conditions”可以根据一些条件生成post语法。 在Pipeline Syntax-片段生成器选择“emailext: Extended Email”可以生成一些脚本。 pipeline {agent anystages {stage(pull code) {steps {checkout([$class: GitSCM, branches: [[name: */master]], extensions: [], userRemoteConfigs: [[credentialsId: e689f397-c855-4783-9600-b990ea39ab83, url: git192.168.216.123:test1_group/test1_project.git]]])}}stage(build projct) {steps {sh mvn clean package}}stage(deploy project) {steps {deploy adapters: [tomcat8(credentialsId: f6769281-ec81-4b0b-bf5e-8921f8e7e67a, path: , url: http://192.168.216.123:8085/)], contextPath: null, war: target/*.war}}}post {always {emailext(subject: 构建通知${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}!,body: ${FILE,pathemail.html},to: 收件人的邮箱)}} }
http://www.pierceye.com/news/800563/

相关文章:

  • 廊坊网站的优化html5网站地址
  • 少儿图书销售网站开发背景网络个性化定制
  • 网站制作价格情况微信输入法使用方法
  • 首饰网站建设策划案我的主页制作代码
  • 网站专题页面模板科技有限公司可以做网站建设吗
  • 物流企业网站建设特色吉林智能网站建设价格
  • 安徽省教育基本建设学会网站光明新区建设网站
  • 图片无法显示wordpress我是seo关键词
  • 设计商标的网站最新的电商资讯有哪些
  • 烟台开发区网站建设做家教中介网站赚钱吗
  • 商洛市建设工程造价管理站网站网站无障碍建设报告
  • 网站如何做原创广州网站优化关键词公司
  • 海门市城乡建设局网站深圳专业做网站专业
  • 网站首页的快照更新慢凉山建设机械网站
  • 怎么区分营销型网站如何建立公司的网站
  • 宁波网站建设鲤斯设计游戏网站上图片动态怎么做的
  • 重庆php网站建设网站ip地址 转向域名
  • 知名的电子商务网站从化手机网站建设
  • 钓鱼网站 企业形象做一婚恋网站多少钱
  • 南阳网站建设公司wordpress视频无法播放视频
  • 广西防城港建设厅网站wordpress导航栏修改
  • 网站建设桂林永川网站建设公司
  • 英文网站设计制作wordpress搜索不到
  • 企业营销网站建设的基本步骤吉林省建设工程质量监督站网站
  • 现在用什么软件做网站北京工程设计公司排名
  • 烟台网站开发技术找人做网站服务器不是自己的怎么办
  • 网站样式下载pc网站建设的优势是什么
  • 网站是怎么建设的网页制作基础教程第2版葛艳玲答案
  • 企业做一个网站的费用网站设计专业需要什么
  • 昆山住房和城乡建设部网站网站开发用的工具