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

樟木头镇仿做网站境外注册网站

樟木头镇仿做网站,境外注册网站,成都那家做网站好,苏州有什么好玩的景点travis-ci在本文中#xff0c;我们将学习如何将Travis CI用于SpringBoot应用程序的持续集成和持续部署#xff08;CI / CD#xff09;。 我们将学习如何运行Maven构建目标#xff0c;使用JaCoCo插件#xff0c;使用SonarCloud代码质量检查#xff0c;建立泊坞窗图像进行测… travis-ci 在本文中我们将学习如何将Travis CI用于SpringBoot应用程序的持续集成和持续部署CI / CD。 我们将学习如何运行Maven构建目标使用JaCoCo插件使用SonarCloud代码质量检查建立泊坞窗图像进行测试覆盖率验证并推DockerHub并最终将其部署到Heroku的 。 本文的源代码位于https://github.com/sivaprasadreddy/freelancer-kit 上周我和我的朋友谈论了使用SpringBoot构建Java应用程序并对其进行部署变得多么容易。 在讨论中有一点关于构建Java应用程序并将其部署到某个地方云需要花费多少。 因此我想探索更多有关免费服务的信息我们可以使用这些免费服务以最小的成本或根本没有成本使所有项目开发活动自动化。 几年前我使用CloudBees和CloudFoundry构建和部署了提供免费托管服务的宠物项目但它们不再提供免费服务。 过去我将Travis CI用于我的Java项目只是为了进行初步测试但查看它们的文档后我意识到它们提供了很多功能。 因此我想检查一下是否可以将Travis CI用于我的项目以执行所有常规任务例如 签出最新代码 编译并运行单元和集成测试 运行JaCoCo代码覆盖率如果未达到所需的百分比则构建失败 运行SonarQube代码质量检查 可选构建Docker映像并将其发布到Docker Hub 在一些免费的云托管服务如Heroku或OpenShift上部署应用程序 在阅读了他们的文档之后我意识到我们可以通过使用一些免费的在线服务以及与Travis-CI的集成来完成所有这些任务。 GitHub代码存储库 SonarCloud免费的SonarQube服务 用于发布Docker映像的Docker Hub Heroku用于部署应用程序 让我们看看如何使用Travis-CI对SpringBoot项目执行上述所有任务。 步骤1创建SpringBoot项目 使用http://start.spring.io或从您的IDE创建一个SpringBoot项目。 我正在使用Maven构建工具也可以根据需要使用Gradle。 现在将项目提交到您的github存储库中。 步骤2建立.travis.yml档案 为了启用Travis-CI集成我们需要在项目根文件夹中创建.travis.yml文件。 在创建基于Maven的Java项目时请创建具有以下内容的.travis.yml文件 .travis.yml language: java jdk: oraclejdk8 这种最小的配置足以使Travis-CI识别并构建基于Maven的Java项目。 如果项目的根文件夹中有一个build.gradle文件Travis会将其视为Gradle项目或者如果存在pom.xml则将其视为Maven项目。 如果同时存在build.gradle和pom.xml则Gradle构建脚本将具有优先权。 默认情况下Travis将运行mvn test -B来构建项目。 如果Travis找到了mvnw包装器则它将像./mvnw test -B一样使用。 但是如果您要运行其他命令或要运行多个命令则可以使用脚本块对其进行自定义。 现在提交.travis.yml文件并将其推送到GitHub。 步骤3为GitHub储存库启用Travis-CI 转到https://travis-ci.org/并使用GitHub登录 。 现在单击添加新存储库 符号。 为存储库启用Travis。 启用Travis后单击该存储库然后可以通过选择More Options- Trigger build来触发构建 。 现在您可以看到构建正在运行并且测试已执行并且有关构建状态的电子邮件通知将发送到您的电子邮件中。 步骤4添加JaCoCo代码覆盖率检查 将Maven JaCoCo插件添加到pom.xml中并使用诸如所需的代码覆盖率百分比要忽略的包/类等选项。 plugingroupIdorg.jacoco/groupIdartifactIdjacoco-maven-plugin/artifactIdversion0.7.9/versionconfigurationexcludesexcludein/sivalabs/freelancerkit/entities/*/excludeexcludein/sivalabs/freelancerkit/*Application/exclude/excludes/configurationexecutionsexecutioniddefault-prepare-agent/idgoalsgoalprepare-agent/goal/goals/executionexecutioniddefault-prepare-agent-integration/idgoalsgoalprepare-agent-integration/goal/goals/executionexecutioniddefault-report/idphaseverify/phasegoalsgoalreport/goal/goals/executionexecutioniddefault-report-integration/idgoalsgoalreport-integration/goal/goals/executionexecutioniddefault-check/idgoalsgoalcheck/goal/goalsconfigurationrules!-- implementation is needed only for Maven 2 --rule implementationorg.jacoco.maven.RuleConfigurationelementBUNDLE/elementlimits!-- implementation is needed only for Maven 2 --limit implementationorg.jacoco.report.check.LimitcounterCOMPLEXITY/countervalueCOVEREDRATIO/valueminimum0.60/minimum/limit/limits/rule/rules/configuration/execution/executions /plugin步骤5运行单元和集成测试 如前所述默认情况下Travis运行mvn test -B 它将仅运行Unit tests 。 我们希望使用maven-failsafe-plugin分别运行单元测试和集成测试。 我们将遵循惯例将单元测试命名为* Test.java / * Tests.java 将集成测试命名为* IT.java 。 如下所述添加maven-failsafe-plugin plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-failsafe-plugin/artifactIdconfigurationincludesinclude**/*IT.java/include/includes/configurationexecutionsexecutionidfailsafe-integration-tests/idphaseintegration-test/phasegoalsgoalintegration-test/goal/goals/execution/executions /plugin 在为SpringBoot项目配置maven-failsafe-plugin时我遇到了这个问题https://github.com/spring-projects/spring-boot/issues/6254 。 为了解决这个问题我将分类器配置添加到spring-boot-maven-plugin如下所示 plugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationclassifierexec/classifier/configuration /plugin 现在我们将使用脚本块来指定要运行的自定义Maven目标而不是默认目标。 .travis.yml language: java jdk: oraclejdk8script: - ./mvnw clean install -B步骤6使用SonarCloud进行SonarQube代码质量检查 基于SonarQube构建的SonarCloud 可为开源项目提供免费的代码质量检查。 使用GitHub登录并转到“ 我的帐户”-“安全性”并为您的项目生成一个新令牌并将其保存在某处。 现在单击“ 组织”选项卡并使用一些唯一的密钥创建组织。 Travis-CI提供了对敏感数据进行加密的功能 https://docs.travis-ci.com/user/encryption-keys/ 以便我们可以加密任何密钥密码并在.travis.yml文件中进行配置。 sudo gem安装travis 在项目根文件夹中运行以下命令来加密数据 travis加密SOMEVAR “ secretvalue” 这将生成类似 安全“…。 加密的数据……。” 我们可以将所有机密添加为全局环境变量如下所示 env:global:- secure: ....encrypted data..... 现在让我们如下加密SonarCloud令牌 travis加密SONAR_TOKEN “我的声纳令牌在这里” 最后让我们将SonarCloud支持添加为插件 https://docs.travis-ci.com/user/sonarcloud/ 如下所示 language: java jdk: oraclejdk8env:global:- secure: ....encrypted sonar token here.....addons:sonarcloud:organization: sivaprasadreddy-githubtoken:secure: $SONAR_TOKENscript: - ./mvnw clean install -B - ./mvnw clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar 请注意我们使用$ SONAR_TOKEN引用加密的令牌变量并添加了另一个命令在脚本块中运行以运行sonarsonar目标。 步骤7构建Docker映像并发布到DockerHub Travis CI构建可以运行和构建Docker映像也可以将映像推送到Docker存储库。 有关更多信息请阅读https://docs.travis-ci.com/user/docker/ 在项目根文件夹中为我们的SpringBoot应用程序创建Dockerfile 如下所示 FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD target/freelancer-kit-0.0.1-SNAPSHOT.jar app.jar RUN sh -c touch /app.jar ENV JAVA_OPTS-Xdebug -Xrunjdwp:servery,transportdt_socket,address8787,suspendn EXPOSE 8080 8787 ENTRYPOINT [ sh, -c, java $JAVA_OPTS -Djava.security.egdfile:/dev/./urandom -Dspring.profiles.activedocker -jar /app.jar ] 要使用Docker请将以下设置添加到.travis.yml sudo: requiredservices:- docker 现在我们可以在构建中运行Docker命令。 构建成功后我们可能要构建Docker映像并将其推送到Docker Hub。 我们可以利用after_success部分来执行此操作。 在推送映像之前我们需要登录DockerHub 我们将通过对其进行加密来配置DockerHub凭据。 travis加密DOCKER_USER ” dockerhub-username” travis加密DOCKER_PASS “ dockerhub-password” 将这两个秘密添加到.travis.yml的env.global部分。 现在我们可以在after_success部分中添加docker命令来构建映像并发布到dockerhub如下所示 after_success: - docker login -u $DOCKER_USER -p $DOCKER_PASS - export TAGif [ $TRAVIS_BRANCH master ]; then echo latest; else echo $TRAVIS_BRANCH; fi - export IMAGE_NAMEsivaprasadreddy/freelancerkit - docker build -t $IMAGE_NAME:$COMMIT . - docker tag $IMAGE_NAME:$COMMIT $IMAGE_NAME:$TAG - docker push $IMAGE_NAME步骤8部署到Heroku Travis CI提供了在广泛的平台上进行部署的选项包括HerokuOpenShiftAWSAzure等。TravisCI可以在成功构建后自动部署您的Heroku应用程序。 我们将使用Travis https://docs.travis-ci.com/user/deployment/heroku/在Heroku上部署SpringBoot应用程序。 在将我们的应用程序部署到Heroku之前我们需要登录到https://www.heroku.com/并从Dashboard创建一个应用程序。 现在在项目的根文件夹中创建Procfile 如下所示 web java -Dserver.port$PORT -Dspring.profiles.activeheroku $JAVA_OPTS -jar target/freelancer-kit-0.0.1-SNAPSHOT-exec.jar 首先我们需要获取Heroku API密钥并将其添加为加密密钥。 travis加密HEROKU_API_KEY “此处为您的Heroku-api-key-” 我们可以通过添加以下部署部分来从Travis部署到Heroku deploy:provider: herokuapi_key: $HEROKU_API_KEYapp: freelancerkit 现在完整的.travis.yml文件将如下所示 sudo: required language: java jdk: oraclejdk8services: - dockerenv:global:- secure: encrypted-sonar-token- secure: encrypted-dockerhub-username- secure: encrypted-dockerhub-password- secure: encrypted-heroku-api-key- COMMIT${TRAVIS_COMMIT::7}addons:sonarcloud:organization: sivaprasadreddy-githubtoken:secure: $SONAR_TOKENscript: - ./mvnw clean install -B - ./mvnw clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonarafter_success: - docker login -u $DOCKER_USER -p $DOCKER_PASS - export TAGif [ $TRAVIS_BRANCH master ]; then echo latest; else echo $TRAVIS_BRANCHamp;amp;amp;amp;amp;amp;lt;span data-mce-typebookmark styledisplay: inline-block; width: 0px; overflow: hidden; line-height: 0; classmce_SELRES_startamp;amp;amp;amp;amp;amp;gt;amp;amp;amp;amp;amp;amp;lt;/spanamp;amp;amp;amp;amp;amp;gt;; fi - export IMAGE_NAMEsivaprasadreddy/freelancer-kit - docker build -t $IMAGE_NAME:$COMMIT . - docker tag $IMAGE_NAME:$COMMIT $IMAGE_NAME:$TAG - docker push $IMAGE_NAMEdeploy:provider: herokuapi_key: $HEROKU_API_KEYapp: freelancer-kit 一旦构建成功并将其部署在Heroku上您应该可以通过https// app .herokuapp.com /访问该应用程序。 我仅介绍了Java应用程序中最常执行的任务但是Travis-CI可以执行更多任务。 在https://docs.travis-ci.com/上查看TravisCI文档。 翻译自: https://www.javacodegeeks.com/2018/01/ci-cd-springboot-applications-using-travis-ci.htmltravis-ci
http://www.sadfv.cn/news/394590/

相关文章:

  • 摄影网站建设解决方案此邀请码已被使用wordpress
  • 可以做国外购物的网站网页图片排版布局
  • php企业网站例子仙踪林老狼网站欢迎您拍照
  • 教育类网站开发艺术生搭建wordpress个人博客
  • 网站备案添加域名沭阳那家做网站的
  • 创建一个网站买卖给网站做接口
  • 宝安做网站公司乐云seo郑州网络工程学院
  • 网站设计制作是什么做网站会很忙吗
  • 优质的菏泽网站建设html5做网站系统
  • 3免费做网站wordpress mysqladmin
  • 新手做啥网站好梅州网站优化公司
  • 网站开发中 登录不上了2345浏览器网页
  • 请人制作软件的网站微网站设计尺寸
  • 柳市网站优化网上怎么注册公司免费的
  • 网站综合查询工具图片下载网站
  • 为什么什么网站都在维护仿土巴兔网站建设
  • 重庆邮电大学官网网站茂名免费自助建站模板
  • 网站首页页面网页游戏百度
  • 漂亮的企业网站源码贵州黔东南双控体系建设网站
  • 哪些做营销型网站做的好做设计不能不知道的网站
  • 做同城服务网站比较成功的网站WordPress主题niRvana
  • 个人做外包网站多少钱连锁餐饮网站建设
  • 绍兴商城网站开发设计wordpress的文章分类
  • 多语言外贸网站设计东莞营销网站建设多少钱
  • 景点网站开发积极意义做毕设的网站万
  • 59一起做网站软件开发工作稳定吗
  • 做镜像网站湖南做旅游网站
  • 企业网站模板下载哪家口碑好广西网络干部学院官网
  • 网站建设logo网站免费模版
  • 高端网站建设设计公司排名中国建设银行网站官网下载安装