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

网站架构的重要性中科网站建设

网站架构的重要性,中科网站建设,网站导航是什么,常用的seo工具我将详细展示如何定期构建您的项目#xff0c;然后如何进行发布。 它涉及许多工具的协作#xff0c;我发现这些工具难以正确设置#xff0c;这就是我编写此代码的原因。 目标 我将向您展示如何实现以下两种方案。 第一个是如何进行常规开发的非发行版#xff1a; 实现一些… 我将详细展示如何定期构建您的项目然后如何进行发布。 它涉及许多工具的协作我发现这些工具难以正确设置这就是我编写此代码的原因。 目标 我将向您展示如何实现以下两种方案。 第一个是如何进行常规开发的非发行版 实现一些东西提交并推送到GitLab。 通过GitLab的Web钩子触发Jenkins构建。 生成测试组装然后将二进制JAR发布到Artifactory存储库。 第二个也是更有趣的目标是当您要构建发行版本时 运行使用Gradle版本插件的参数化Jenkins构建 验证项目符合要发布的特定条件。 使用发行版本号创建Git标签。 修改Gradle项目版本以允许进一步开发。 提交此更改并将其推送到GitLab。 触发另一个通用参数Jenkins构建以将发布工件发布到Artifactory。 情况 我将演示描述使用Gradle构建的真实Scala项目的过程。 构建服务器是Jenkins 。 二进制工件被发布到运行Artifactory免费版的服务器上。 版本控制系统是GitLab的免费社区版本。 我确信您可以对任何Java应用程序遵循本指南。 为了使本指南更加清楚我们假设您的URL在以下位置 GitLab存储库SSH gitgitlab.localcom.buransky / release-example.git Jenkins服务器 http// jenkins / Artifactory服务器 http// artifactory / 项目结构 没什么特别的。 我使用常见的目录结构 project root build (build output) gradle (Gradle wrapper) src (source code) main scala test scala- build.gradle- gradle.properties- gradlew- gradlew.bat- settings.gradle摇篮项目 我使用Gradle包装器如果尚未在机器上安装Gradle本身它只是下载和安装Gradle本身的便捷工具。 不需要。 但是您需要具有以下三个文件 settings.gradle –用于多个项目的通用Gradle设置对于我们来说并不是必需的 rootProject.name name gradle.properties –包含组名称项目名称和版本 groupcom.buransky namerelease-example version1.0.0-SNAPSHOT build.gradle – Gradle项目的主要定义 buildscript {repositories {mavenCentral()maven { url http://repo.spring.io/plugins-release }}... }plugins {id scalaid mavenid net.researchgate.release version 2.1.2 }group group version version...release {preTagCommitMessage [Release]: tagCommitMessage [Release]: creating tag newVersionCommitMessage [Release]: new snapshot version tagTemplate v${version} } 添加以下内容以生成带有源的JAR文件 task sourcesJar(type: Jar, dependsOn: classes) {classifier sourcesfrom sourceSets.main.allSource }artifacts {archives sourcesJararchives jar } 让我们测试一下。 从shell运行此命令 $ gradle assemble :compileJava :compileScala :processResources :classes :jar :sourcesJar :assembleBUILD SUCCESSFUL 现在您应该在build / libs目录中有两个JAR文件 版本示例1.0.0-SNAPSHOT.jar 版本示例1.0.0-SNAPSHOT-sources.jar 好的所以如果这可行让我们尝试释放它 $ gradle release :release :release-example:createScmAdapter :release-example:initScmAdapter :release-example:checkCommitNeeded :release-example:checkUpdateNeeded :release-example:unSnapshotVersionBuilding 0% :release :release-example:confirmReleaseVersion ?? This release version: [1.0.0] :release-example:confirmReleaseVersion :release-example:checkSnapshotDependencies :release-example:runBuildTasks :release-example:beforeReleaseBuild UP-TO-DATE :release-example:compileJava UP-TO-DATE :release-example:compileScala :release-example:processResources UP-TO-DATE :release-example:classes :release-example:jar :release-example:assemble :release-example:compileTestJava UP-TO-DATE :release-example:compileTestScala :release-example:processTestResources :release-example:testClasses :release-example:test :release-example:check :release-example:build :release-example:afterReleaseBuild UP-TO-DATE :release-example:preTagCommit :release-example:createReleaseTagBuilding 0% :release :release-example:updateVersion ?? Enter the next version (current one released as [1.0.0]): [1.0.1-SNAPSHOT] :release-example:updateVersion :release-example:commitNewVersionBUILD SUCCESSFUL 由于我尚未使用必需的参数运行发布任务因此该构建是交互式的要求我首先输入或确认发布版本1.0.0。 然后它再次要求我输入下一个工作版本该插件自动建议该版本为1.0.1-SNAPSHOT。 我什么都没输入我只是按回车键确认了默认值。 查看Git历史记录您应该在本地存储库以及GitLab中看到一个名为v1.0.0的标签。 还要打开gradle.properties文件您应该看到该版本已更改为version 1.0.1-SNAPSHOT。 发布任务需要做很多事情。 例如您的工作目录不得包含未提交的更改。 或您所有的项目依赖项都必须是发行版它们不能是快照。 否则您当前的分支必须是主分支。 另外您还必须具有在GitLab中推送到master分支的权限因为发布插件将执行git push。 设置工厂 在Artifactory方面没有特殊要求。 我假设它已经启动并在http// artifactory /运行。 当然您的网址可能有所不同。 默认安装已经有两个存储库我们将发布这些存储库 libs-release-local libs-snapshot-local Jenkins Artifactory插件 该插件将Jenkins与Artifactory集成在一起从而可以发布来自Jenkins构建的工件。 安装插件转到Jenkins配置在Artifactory部分中添加新的Artifactory服务器并进行以下设置 网址 http// artifactory /您有所不同 默认部署者凭证 为有权部署的现有Artifactory用户提供用户名和密码 单击测试连接按钮以确保该部分正常工作。 持续集成Jenkins构建 这是在每次向master分支提交并推送到GitLab之后运行的构建。 将其创建为新的自由式项目并为其命名。 这是此构建的步骤和设置的列表 源代码管理– Git 储存库URL gitgitlab.localcom.buransky / release-example.git您有所不同 构建触发器 轮询SCM这是必需的以便GitLab上的Webhook起作用 搭建环境 Gradle-Artifactory集成需要Artifactory插件 人工配置 Artifactory服务器 http// artifactory /您有所不同 构建–调用Gradle脚本 使用Gradle包装器 运行构建然后转到Artifactory以检查快照是否已成功发布。 我使用树浏览器导航到libs-snapshot-local / com / buransky / release-example / 1.0.1-SNAPSHOT。 在那里您应该找到 二进制JAR 源JAR POM文件 每次运行此构建时都会在此处添加新的三个文件。 您可以配置Artifactory删除旧快照以节省空间。 我只保留5张最新快照。 从GitLab触发Jenkins构建 我们太懒了无法手动运行我们刚刚创建的持续集成Jenkins构建。 我们可以将GitLab配置为在每次推送后自动为我们完成。 转到您的GitLab项目设置的Web Hooks部分。 输入以下内容然后单击“添加Web挂钩”按钮 网址 http// jenkins / git / notifyCommiturlgitgitlab.localcom.buransky / release-example.git 嘿! 触发推送事件 如果尝试测试此挂钩并单击“测试挂钩”按钮可能会惊讶于没有触发任何构建。 原因通常可能是该机制非常智能如果没有新的提交则不会运行该构建。 因此请在源代码中进行更改提交推送然后触发Jenkins构建。 休息一下喝杯咖啡 这已经是很多工作了。 我们现在可以做很多事情。 服务器工作并相互通信。 我希望您可能需要在各个计算机之间设置SSH但这超出了此范围。 准备继续吗 让我们释放这个sh * t。 通用Jenkins构建后将发布发布给Artifactory 我们将创建一个参数化的Jenkins构建该构建从git中检出发行版本进行构建并将工件部署到Artifactory。 此构建是通用的因此可以将其重新用于单个项目。 让我们从新的自由式Jenkins项目开始然后设置以下内容 项目名称向Artifactory发布发行 此构建已参数化 字符串参数 源代码管理– Git 存储库URL $ GIT_REPOSITORY_URL 搭建环境 开始构建之前删除工作区 人工配置 Artifactory服务器 http// artifactory /您有所不同 构建–调用Gradle脚本 使用Gradle包装器 通用Jenkins构建以发布Gradle项目 我们还需要一个可重用的参数化Jenkins构建该构建使用提供的参数运行Gradle版本插件然后触发我们已经创建的通用发布Jenkins构建。 项目名称 Release Gradle项目 此构建已参数化 字符串参数 源代码管理– Git 存储库URL $ GIT_REPOSITORY_URL 其他行为 签到特定的本地分支机构 构建–调用Gradle脚本 使用Gradle包装器 触发器/调用建立在另一个项目上需要参数化触发器插件 要构建的项目将发布发布到Artifactory 最终版本 现在我们终于准备好为我们的项目创建一个构建该构建将创建一个发行版。 它只会调用先前创建的通用内部版本。 上一次创建新的自由式Jenkins项目然后 项目名称示例发行版 此构建已参数化 字符串参数 为运行准备环境 保留Jenkins环境变量 源代码管理– Git 从另一个项目使用SCM 搭建环境 开始构建之前删除工作区 建立 使用其他项目中的构建器 让我们尝试发布示例项目。 如果按照我的步骤进行操作则该项目当前应为1.0.1-SNAPSHOT版本。 将发布版本1.0.1并将当前项目版本提升到下一个开发版本1.0.2-SNAPSHOT。 因此只需运行示例发布版本并进行设置 RELEASE_VERSION 1.0.1 NEW_VERSION 1.0.2-快照 使用的工具 斯卡拉 2.11 摇篮 2.4 Gradle Release插件 2.1.2 詹金斯 1.617 Artifactory插件 2.3.1 Artifactory 3.3.0 亚搏体育app 7.7.2 结论 我确信本指南中肯定有一些错误也许我也忘记提及关键步骤了。 如果您遇到任何问题请告诉我我们将尝试解决。 它可以在我的机器上工作因此必须有一种方法使其在您的机器上工作。 翻译自: https://www.javacodegeeks.com/2015/09/release-gradle-project-in-gitlab-with-jenkins-to-artifactory.html
http://www.sadfv.cn/news/15417/

相关文章:

  • 珠海移动网站设计青岛优化网站技术
  • 网站导航二级菜单怎么做出来的2345网址导航更新
  • 网站后期维护费用怎样版费程序开发用什么笔记本
  • 福州网站建设电话做网站百度
  • 微信推广员当年的推广费南通做网站优化
  • 有哪些做外贸免费的网站赣州市做网站设计
  • 电商网站成品案例杭州网站建设seo优化
  • 网站后台验证码无法显示商城类网站怎么优化
  • 阿里云建站套餐提高网站安全性
  • 影楼网站模版定制型网页设计开发
  • 下载网站怎么下载个人备案能建立企业网站吗
  • 做购物平台网站需要注意什么铜山网站开发
  • 重庆九龙坡营销型网站建设公司哪家好android下载软件
  • 建站行业分析网站开发相关知识
  • 中盛浩瀚建设有限公司网站软件开发前端
  • 可以免费建立网站吗跨境电商自建站是什么意思
  • 重庆市建设信息网站设计签名免费网站
  • 企业网站管理系统下载什么是网络营销环境
  • 淮安做网站杨凯网络营销与直播电商学什么
  • 清华紫光是可以做网站的吗php网站开发个人职责
  • 南通电子商务网站建设济南网站建设v芯企优互联不错
  • 下载类网站 前置备案靳刘高设计公司官网
  • 专业做网站哪家好wordpress主题的连接函数
  • 儿童网站网页设计微信上做网站怎么做
  • 保定 网站建设牡丹江网站seo
  • 该去哪里购买网站域名和空间天津网页制作网页报价
  • 昆山做网站找文博虚拟机安装 wordpress
  • 龙华做棋牌网站建设哪家好企业外贸网站建设方案
  • 女装网站欣赏北京诚通新新建设有限公司网站
  • 青浦郑州阳网站建设访问wordpress时失败