-
课程学习完成及课程评论截屏了解编译构建概念及云化发展趋势了解Devcloud的编译构建优势不断学习才能不断进步
-
问题: 在使用CloudIDE 过程中遇到一个问题,代码在编译构建服务中构建成功,但是在CloudIDE中却因为下载不了依赖包而构建失败,这是应为两者的maven 依赖仓的配置不一样,下面分享下如何在CloudIDE中配置和编译构建服务一样的maven 依赖仓。使用的CloudIDE 服务的链接: https://devcloud.cn-north-4.huaweicloud.com/cloudide/home1,首先去编译构建服务 新建一个构建任务,输入“cat ~/.m2/settings.xml”,:2, 运行构建任务,并从日志中复制出settings.xml:3, 复制后去掉前面的时间戳,并删除 <localRepository> 标签:4,打开要配置的cloudide实例,在工程下新建文件settings.xml, 经获取的settings.xml 内容复制到新建的文件中保存:5, 打开teminal 执行“cp settings.xml ~/.m2/settings.xml”6, 完成maven 的配置, 在命令行执行mvn package, 依赖包不能下载的问题就解决了
-
今天已经是第11天了,随着进度的扩展,难度也随之提高了不少。 在第一期的实训营群里,被这一关难到的有不少。 1478114782 同时群内热心帮忙的大神也同样多,问题都被一一解决了。 现在我把我第11天编译构建的流程放上来,供大家批评指正。 ps:git大神请轻喷,纯小白一枚,零基础学习devops。 进入正题: 一、获取编译构建练习代码 还记得前面课程我们接的作业吗? 作业地址>>https://dl.devcloud.huaweicloud. ... 7b74?sptype=special 14791 应用3,项目交付中刚好有编译构建的练习。 二、进行编译构建 选择这个项目(作业) 14792 选择构建&发布中的编译选项 14794 点击操作中的“开始构建”按钮。 或者直接点击链接:https://dl.devcloud.huaweicloud.com/codeci/home 点击小箭头。 14795 三、打卡 等待编辑成功,再次选择项目 14796 截图打卡 14797 这样,编辑构建的流程就被简化了。2333 估计后面的课程深度会来越来深,希望大神们多多指路。我现在把我今天课程完成的步骤贴出来,大家也多分享分享。
-
本帖最后由 DevCloud小助手 于 2018-3-20 15:51 编辑在我们日常工作中,程序经常需要迭代,我们也需要频繁的进行程序的部署,每次部署的时候,都需要配置部署任务,选择最新的软件包进行部署操作,频繁的部署操作增加了我们的工作量,也增加了在配置部署任务的时候出错的风险,一般情况下,我们每次部署都需要在服务器上安装最新的软件包,下面就给大家讲一个快速部署最新程序的方法。首先,进入编译构建页面,选择即将需要构建的任务。12900点击编辑任务按钮,进入编辑页面,选择好对应的代码仓库;12901关键步骤,构建执行配置,增加两个“上传软件包到软件发布库”,其中一个结果步骤勾选“保存历史版本”,软件包名自由填写,建议区分开,保存任务。1290212903编译构建任务配置完成,开始执行任务。12904任务执行成功,在软件发布库,可以看到两个刚才上传的两个软件包文件夹。12905进入部署页面,创建部署任务,本次选择的部署类型是shell部署,因为本次部署的主机已经有对应的tomcat环境,所以未勾选“是否安装运行环境”。12906添加软件包,点击“添加”,软件包来源选择“发布仓库”,在列表中选择“scrum.war”,该软件包是编译构建时未勾选“保存历史版本”上传的软件包。点击“确认”。12907填写部署任务其他相关信息,保存任务。12908执行部署任务,任务执行成功,点击验证路径,访问成功。1290912910下面我们修改了程序,再次执行编译构建,生成了新的软件包。然后进入部署页面,直接执行部署任务。部署成功后,点击验证路径。可以看到,已经修改logo和背景颜色的新程序已经上线。12911通过编译构建任务中增加两个“上传软件包到软件发布库”,在每次程序修改之后,直接执行编译构建任务和部署任务就可以实现程序修改的快速上线,原理是每次进行编译构建任务时,由于软件包名称没有改变,新编译构建的软件包会覆盖原来的软件包,同时我们增加的另一个勾选了“保存历史版本”的结果步骤,为每次编译构建都留下了当时的版本备份,方便遇到问题时进行回滚。以上就是关于DevCloud快速部署最新程序的小技巧。
-
本帖最后由 DevCloud 于 2017-9-22 16:08 编辑
-
本帖最后由 DevCloud 于 2017-9-22 16:13 编辑
-
本帖最后由 慕云而来 于 2017-8-17 08:47 编辑 一.Maven介绍 Maven是一个项目管理和整合的工具。Maven为开发者提供了一套完整的构建生命周期框架。开发团队基本不用花多少时间就能自动完成工程的基础构建配置,因为Maven使用了一个标准的目录结构和一个默认的构建生命周期。 二.Maven用途 Maven提供了帮助管理 构建、文档、报告、依赖、SCMs、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。Maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性利用Maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等。 三.Maven配置 1. 新建构建任务 首先在华为软件开发云 中新建构建任务(见图1)。 125 图1 新建构建任务 【maven-demo】是用户自定义的构建任务名称。 【maven_demo】是已经创建的代码仓库,【master】是【maven_demo】中的一个分支。 关于归档,需要注意两点: 1)归档的路径,默认是【target/*.jar】,实际路径取决于pom文件的路径,我们先看【maven_demo】的工程目录(见图2),pom文件在【springmvc_demo】文件夹内,所以实际归档的路径应该是【springmvc_demo/target/*.jar】。 126 图2 maven_demo仓库目录结构 2) 归档类型,默认是jar,实际类型取决于pom文件中的设定(见图3),pom文件中,打包类型是war,所以实际类型是war。 127 图3 springmvc_demo工程pom文件 所以,归档中,应该写入【springmvc_demo/target/*.war】。 最后,成功创建构建任务。 2. 编辑构建任务 1) 基本信息 创建任务时的配置是最基本的配置,用户可以通过编辑任务配置更详细的参数(见图4)。 128 图4 构建任务编辑步骤 在【基本信息】中,可以设定【执行参数配置】,也就是在执行构建的时候,进行参数配置。这些参数主要用于设置【包名】、【版本号】、【分组】和【打包类型】,在【配置构建】中会使用这些参数(见图5)。 129 图5 执行参数配置 【字符类型】就是字符串,【自定义类型】类似于枚举,从定义好的值中选择一个(见图6,图7)。 130 图6自定义类型参数编辑 131 图7 自定义类型参数值 2) 代码配置 选择要构建的代码仓库和分支(见图8)。 132 图8 选择一个代码仓库 如果选择【自动构建】,则只要仓库代码有变动,就会触发编译构建。 根据项目需要,如果要构建多个仓库,为了避免代码冲突,需要指定存储目录(见图9)。 133 图9 选择多个代码仓库 该存储目录由用户自定义设置,在服务器中对应的路径与仓库的目录结构有关。 【maven_demo】的构建路径如下图: 134 图10 maven_deno仓库的工作目录 【maven_demo2】的构建路径如下图: 135 图11 maven_deno2仓库的工作目录 注意:仓库【maven_demo2】的目录结构与仓库【maven_demo】的不同,前者的pom文件在仓库的根目录下,后者的pom文件在根目录下的【springmvc_demo】目录中。 3) 构建配置 构建环境选择【Java】,构建类型选择【Maven】。Maven的配置参数很多(见图12)。 136 图12 maven参数配置 【Maven版本】:目前只支持mvn3.3.1,之后会根据maven的版本升级而更新可选择的版本号。 【发布到私有库】:默认不选是执行maven package,打包到本项目,一般是在项目target目录下。如果勾选,则执行maven deploy,打包上传到远程仓库,将软件包发布至用户私有maven release和maven snapshot仓库,需要配置pom文件。 【Maven参数】:默认是-U,在编译的时候会下载snapshot仓库的最新依赖包。如果有需要可以配置其他的参数(见图13)。 137 图13 maven常用参数命令 【POM文件】:如果pom文件在仓库的根目录下,则不用填写,如果像仓库【maven_demo】,pom文件不在根目录下,需要指定pom文件的路径【springmvc_demo/pom.xml】,如果在【代码配置】中,指定了【存储目录】为test1,则需要要加上存储目录,即【test1/springmvc_demo/pom.xml】。 【属性】:即构建脚本需要的属性。用命令行使用Maven的插件时,-D表示属性的输入。例如maven的版本管理,增加属性如下(见图14): #Maven 版本管理 branchName=xxxx-100317 #分支中的名称 updateBranchVersions=false #是否更新分支的版本信息,默认为false updateWorkingCopyVersions=false #是否更新主干的版本信息,默认为true 每个属性中不能有空格,属性之间用空格分开。 138 图14 maven属性配置 具体如何查找属性请参考下面链接: http://www.cnblogs.com/EasonJim/p/6865150.html 【JVM选项】: 在基于Maven管理的Java项目中,经常出现内存溢出的错误,这种情况下,需要进行JVM的参数设置更新,一般而言,都是根据内存溢出问题的不同,针对内存、permspace来进行调整和设置。比如增大PermGen区空间为128M,设置方法为 set MAVEN_OPTS=-XX:MaxPermSize=128M,实际填写【JVM选项】时,只写入【-XX:MaxPermSize=128M】(见图15),如果需要设置多个属性,属性之间用空格分隔。 139 图15 maven JVM选项配置 JVM的具体参数请参考下面的链接: http://www.oracle.com/technetwor ... ons-jsp-140102.html 【编译构建 后】选择【发布到编译构建仓库】(见图16) 140 图16 编译构建后参数配置 这里,会定义【包名】、【版本号】、【文件路径】、【分组】和【打包类型】,这里可以写入固定的值,也可以使用在【基本信息】中定义的参数,这里使用的就是【基本信息】中定义的参数。方法是${参数名}。关于【文件路径】,如果pom文件在仓库的根目录下,并且没有指定【存储目录】,则【文件路径】为【target/springmvc_demo.war】,如果指定了【存储目录】为test1,那么在【文件路径】最前面应该加上存储目录,例如【test1/springmvc_demo/target/springmvc_demo.war】。 如果同时构建多个仓库,则需要再增加【执行Maven】和【发布到编译构建仓库】步骤(见图17)。 141 图17 多仓库编译构建后参数配置 4) 构建执行配置 【构建结果】选择【归档】,【用于归档的文件】默认就是全部包(见图18)。具体路径也是取决于pom文件的路径,参考【构建配置】中的【文件路径】。 142 图18 构建结果配置 包的类型取决于pom文件中的定义。【不包含】是指不需要归档的包,如果有多个,每个包之间用空格分隔。 如果选择多个代码仓库,则需要增加【归档】(见图19)。 143 图19 多仓库构建结果配置 5) 构建计划配置 【构建计划】有【不定时】、【每日】和【每周】。 【不定时】是指用户手动构建,用户不操作,就不会构建。 【每日】是指每天定时构建,不需要用户操作(见图20)。 144 图20 每日构建计划配置 【每周】是指每周可以固定哪几天定时构建,如周二,周四(见图21),也不需要用户操作。 145 图21 每周构建计划配置 【构建时长限制】是指一次构建最长时间限制,如果超过该时长还没有构建完毕,则停止构建。 四.Maven构建 用户执行【开始构建】,会弹出参数窗口(见图22)。 146 图22 执行构建配置 根据项目实际需求,填写参数,这些参数是在【基本信息】中定义好的,然后开始【执行】,最后构建成功(见图23)。 147 图23 构建成功 五.小结 maven不仅是构建工具,它还是依赖管理工具和项目管理工具,提供了中央仓库,能够帮我们自动下载构件。为了解决依赖的增多,版本不一致,版本冲突,依赖臃肿等问题,它通过一个坐标系统来精确地定位每一个构件。maven还为全世界的Java开发者提供了一个免费的中央仓库,在其中几乎可以找到任何的流行开源软件。通过衍生工具(nexus),我们还能对其进行快速搜索。总之,maven构建会给你带来很多的好处和惊喜。
上滑加载中
推荐直播
-
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中
热门标签