精华内容
下载资源
问答
  • jenkins构建前、构建构建后操作

    万次阅读 2021-03-27 18:00:17
    构建前操作 思路: 使用ssh到目标服务器下发命令,查询启动的node服务 分析不同的服务器启动的服务,备份服务对应代码 构建 思路: jenkins-master服务器从svn拉取最新代码 根据启动的服务打包目录 构建后操作 ...

    因为使用docker部署的jenkins存在目录映射问题,所以直接部署jenkins

    部署参考

    构建前操作

    思路:

    • 使用ssh到目标服务器下发命令,查询启动的node服务
    • 分析不同的服务器启动的服务,备份服务对应代码
    构建

    思路:

    • jenkins-master服务器从svn拉取最新代码
    • 根据启动的服务打包目录
    构建后操作

    思路:

    • ssh publish发布代码到目标服务器
    • 目标服务器解压代码到对应目录
    • 重新启动服务
    展开全文
  • sc.exe create 服务名称 binpath= xxxx.exe
  • 写个程序,要输出hello world才开心,同样,学习docker,自己构建镜像才算完事。 说正事: 先放linux用软件链接,自行下载 apache-tomcat-8.0.26 jdk8 构建镜像 先通过你自己以及启动的容器,构建镜像,这样做的...

    写个程序,要输出hello world才开心,同样,学习docker,自己构建镜像才算完事。

    说正事:

    1. 先放linux用软件链接,自行下载
      apache-tomcat-8.0.26
      jdk8
    2. 构建镜像
      1. 先通过你自己以及启动的容器,构建镜像,这样做的目的比如:你运行了mysql镜像,但是没有挂载数据、配置等目录到宿主机,那么迁移到话,就需要吧整个镜像迁移,此时通过如下命令构建(当然镜像迁移也是docker的本身目的)
        docker commit -a="作者" 容器ID或者容器别名 构建出到镜像名:tag(tag不写,则默认latest)
        
        构建完成后,推送到自己私有到docker镜像仓库中,然后在另一个机器上pull后再run,完美!
      2. 假设自己已经打包好了一个springboot项目的jar包,目录结果如下
        Dockerfile内容如下
        # 使用java8构建镜像
        FROM java:8
        # 作者
        LABEL author=mose
        # 拷贝java jar包,这里是springboot项目,内嵌了tomcat,所以可以直接运行
        ADD xxx.jar /xxx.jar
        # 暴露端口
        EXPOSE 80
        # 执行启动命令
        ENTRYPOINT ["java","-jar","/xxx.jar"]
        
        执行构建命令
        docker build -t my_sringboot_pro . 
        
        之后就可以执行docker run命令,来跑这个镜像了,然后即可在浏览器中访问
        docker run -itd --name m_s_pro -p 8080:80 my_sringboot_pro
        
      3. 通过Dockerfile构建自己随心所欲到镜像,这里我从Dockerfile详细说说。
        先创建一个目录,然后新建一个Dockerfile文件,然后在该文件夹下下载如上两个程序,下载后可解压可不解压,如下 在这里插入图片描述
        然后,用vscode,或者vim打开Dockerfile,开始编辑,详细解释如下
        有用的一些指令如下,其它的基本不用
        # 构建镜像的时候指定基础镜像,比如用centos,或是jdk等
        # 比如官方tomcat构建文件FROM openjdk:15-jdk-oraclelinux7
        #(所有的Dockerfile第一行命令都必须是FROM开头,注释除外)
        # centos:tag 后面不加tag,即默认latest
        FROM centos
        
        # ARG 配置的环境变量,可以通过run容器的时候传递进来,可以设置默认值,如ARG my_name=mose
        # 传递指令 --build-arg my_name=mose
        # ARG my_name
        
        # MAINTAINER 指定作者和元数据标签(只能一个)
        # MAINTAINER $my_name
        
        # 和 MAINTAINER作用差不多,但是可以多个,如下
        LABEL author=mose mose=man
        
        # 以下 ADD 和 COPY注意 --------------
        # 复制文件到镜像(copy后不会解压)(方式1)
        # COPY ./jdk8.tar.gz /usr/local
        # COPY ./apache-tomcat-8.0.26.tar.gz /usr/local
        # RUN tar -zxvf /usr/local/apache-tomcat-8.0.26.tar.gz
        # RUN tar -zxvf /usr/local/jdk8.tar.gz
        
        # 复制文件到镜像(add也是copy的意思,执行后会自动解压)(方式2)
        ADD ./jdk8.tar.gz /usr/local
        ADD ./apache-tomcat-8.0.26.tar.gz /usr/local
        
        # ADD命令也可以拉取网络文件资源,类似linux的wget,但是拉取后,不会自动解压
        # ADD 外网可访问文件url /usr/local 
        # 或者使用 ADD 下载后在解压(方式3)
        # ADD https://share.ljserver.cn/file/soft/linux/apache-tomcat-8.0.26.tar.gz /usr/local
        # ADD https://share.ljserver.cn/file/soft/linux/jdk8.tar.gz /usr/local
        # RUN tar -zxvf /usr/local/apache-tomcat-8.0.26.tar.gz
        # RUN tar -zxvf /usr/local/jdk8.tar.gz
        # --------------------------------- 
        
        # 配置环境变量,配置的时候,类似linux配置jdk一样
        # 也可以用等号,如ENV JAVA_HOME=/usr/local/jdk1.8.0_60
        # 这里的配置是基于你本机配置路径,如jdk路径,执行build后,会把jdk相关的都打包在镜像中
        ENV JAVA_HOME /usr/local/jdk1.8.0_60
        ENV CLASSPATH .:$JAVA_HOME/lib
        ENV CATALINA_HOME /usr/local/apache-tomcat-8.0.26
        ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
        # ps:这里为啥是jdk1.8.0_60和apache-tomcat-8.0.26呢,因为上面的两个tar包解压后就是这样的
        
        # 工作目录(后续执行命令的目录)
        # 如指定了目录为/usr/local ,则后面执行的命令都在/usr/local下执行
        WORKDIR $CATALINA_HOME  
        
        # 打包镜像的时候,执行的命令,如镜像中一般没有vim命令,那这里我们可以自己安装
        # 如打包java-jar的时候,执行mvn clean build
        # 如打包前端node包,执行npm build等
        RUN yum -y istall vim
        
        # VOLUME 镜像容器挂载目录,一般用于镜像中匿名目录挂载到宿主机后,用来做共享的
        # 和 -v 有点类似,但是-v是必须指定宿主机和容器各自的目录的
        # VOLUME ["/datal"]
        
        # 容器暴露端口,可增加协议如 8080/tcp 8080/udp,默认tcp,多个端口空格隔开
        EXPOSE 8080
        
        # ONBUILD 打包镜像后,当镜像run为容器的时候才会执行
        # 如,加个病毒脚本啥的,下次在run容器的时候,就会执行,所以自己打包的才放行
        # ONBUILD ls
        
        # 以下 CMD ENTRYPOINT 需要区分 -----------------------
        # 容器启动时候执行的命令,多个只执行最后一行的那个
        CMD ls
        
        # 容器启动时候执行的命令,多个只执行最后一行的那个
        ENTRYPOINT ["catalina.sh", "run"]
        
        # ##
        # 当使用了CMD后,当通过镜像启动容器的时候,比如 docker run -itd --name m_name ls,
        # 此时CMD中的命令会被直接覆盖,即CMD ls命令不会执行
        # ##
        # 当使用了ENTRYPOINT,当通过镜像启动容器的时候,ENTRYPOINT不会被覆盖
        # 万一你要强制覆盖呢?用--entrypoint, 如docker run -itd --name m_name --entrypoint ls 即可
        # ------------------------------------------------
        
        # 打包完成后,执行run命令即可运行自己构建的tomcat
        # 构建命令如下,注意:tag,不写的话,即为latest,最后的“.”也是必须的,表示当前目录,也可以指定目录
        # docker build -t my_tomcat:tag .     (指定版本)
        # docker build -t my_tomcat .         (默认latest)
        
        # 没啥问题的话,就可以运行了执行 run 命令
        # docker run -itd --name m_tom -p 8080:8080 my_tomcat
        
        此时浏览器中访问 ip:port,我这里是localhost:8080,当看到如下图,鸡冻不。
        自己尝试构建一个mysql镜像试试??在这里插入图片描述
        话说,这个弄完,作为初级面试生,是不是也会加分呢?
    展开全文
  • 一路踩坑构建Dubbo源码

    万次阅读 多人点赞 2020-08-11 22:14:16
    dubbo构建源码环境构建快速启动总结 源码环境 随着溪源目前对技术栈的求知欲,也开始入手Dubbo源码啦!!! 构建源码第一步: 必备开发环境:Java 1.5 以上的版本;Maven 2.2.1 或者以上的版本; 官网下载源代码 ...

    源码环境

    随着溪源目前对技术栈的求知欲,也开始入手Dubbo源码啦!!!
    构建源码第一步:
    必备开发环境:Java 1.5 以上的版本;Maven 2.2.1 或者以上的版本;
    官网下载源代码
    官网构建文档学习一下;
    在这里插入图片描述

    构建

    上面part介绍了dubbo源码环境,下面溪源将一步步踩坑构建源码。虽然上面附属了官方文档连接,此处溪源再重复说一下下载步骤:

    • git下载
      命令git clone https://github.com/apache/dubbo.git;
    • maven 构建
      到这里溪源开始踩坑了,噩梦的开始~
      官网文档里可以使用两种方式构建:是否跳过单元测试
      在这里插入图片描述
      毕竟是第一次构建源码,故溪源选择了第一种方式:
    1. 构建时间长,需要构建单元测试;
    2. 可能会存在单测错误现象(构建过程可以直接忽略);
      在这里插入图片描述
      直奔主题,毫不意外构建失败,直接步入今天的主题:踩坑
      在这里插入图片描述
      遇到这种依赖冲突情况,溪源提供一种暴力解决方法:将本地仓库删除相关jar包文件,重新下载依赖文件;
      由于不跳过单测,构建过程略长,溪源采用了第二种构建方式,如图
      在这里插入图片描述
      静静地等待构建。。。心里默默祈求成功吧(哈哈~)
      在这里插入图片描述
    • idea编译
      命令:mvn idea:idea
      在这里插入图片描述
      继续等待编译完成,毫不意外溪源又被摧残了一下,BUILD FAILURE构建失败;
      在这里插入图片描述
      心里想着再坚持一下,快要成功了~,溪源继续想办法解决,看到关于本地仓库的问题,于是乎溪源在本地仓库中查找没有对应的Jar包依赖;
      溪源第一反应就是下载对应的Jar资源文件,在哪里下载呢???面向度娘吗??不不,对于这种资源包缺失问题,网上很少回答的。大家可以动脑思考一下,项目依赖文件来源于中央仓库,于是乎~阿里云仓库嘛;
      溪源分享一下阿里云仓库资源文件下载地址:源地址,网络原因,有可能访问缓慢;
      将jar包下载完成以后,在本地仓库建立相应的文件夹;

    引出一个拓展点
    平时日常开发配置maven时,需要在setting.xml引入阿里云仓库,一般我们百度时配置提供的基本是一种老版地址

    	<mirror>  
    		<id>alimaven</id>  
    		<name>aliyun maven</name>  
    		<url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
    		<mirrorOf>central</mirrorOf>          
    	</mirror>
    

    溪源在解决上面依赖问题时,发现阿里云仓库已经进行了地址更新:阿里云maven
    在这里插入图片描述
    官方配置指南参考:
    在这里插入图片描述

    于是,溪源将本地maven配置setting.xml改成新的仓库地址:

    	<mirror>  
    		<id>alimaven</id>  
    		<name>aliyun maven</name>  
    		<url>https://maven.aliyun.com/repository/public/</url>  
    		<mirrorOf>central</mirrorOf>          
    	</mirror>
    

    以上踩坑似乎跟溪源本地仓库有关,溪源在这里分享出来,希望能够带给伙伴一种解决思路,遇到类似问题,不要着急,看错误日志,寻找解决方案。

    解决完资源依赖问题,再次输入mvn idea:idea命令,终于迎来胜利的曙光,构建成功啦!
    在这里插入图片描述

    快速启动

    经历一番折腾后,溪源终于解决了问题,终于要准备开启dubbo的大门啦,一探究竟~
    事实告诉溪源高兴的太早了,坑啊~,继续踩坑。

    idea打开dubbo源码,进入dubbo-demo项目
    在这里插入图片描述
    按照正常步骤,溪源将配置文件中zookeeper注册中心IP地址改成自己阿里云公网地址(根据自己情况修改);
    满心欢喜启动项目~结果:

    [11/08/20 08:36:35:376 CST] main  INFO imps.CuratorFrameworkImpl: Default schema
    Exception in thread "main" java.lang.IllegalStateException: zookeeper not connected
    	at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.<init>(CuratorZookeeperClient.java:83)
    	at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter.createZookeeperClient(CuratorZookeeperTransporter.java:26)
    	at org.apache.dubbo.remoting.zookeeper.support.AbstractZookeeperTransporter.connect(AbstractZookeeperTransporter.java:70)
    	at org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter$Adaptive.connect(ZookeeperTransporter$Adaptive.java)
    	at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfiguration.<init>(ZookeeperDynamicConfiguration.java:56)
    	at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory.createDynamicConfiguration(ZookeeperDynamicConfigurationFactory.java:37)
    	at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.lambda$getDynamicConfiguration$0(AbstractDynamicConfigurationFactory.java:39)
    	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
    	at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.getDynamicConfiguration(AbstractDynamicConfigurationFactory.java:39)
    	at org.apache.dubbo.common.config.configcenter.DynamicConfiguration.getDynamicConfiguration(DynamicConfiguration.java:224)
    	at org.apache.dubbo.config.bootstrap.DubboBootstrap.prepareEnvironment(DubboBootstrap.java:1034)
    	at org.apache.dubbo.config.bootstrap.DubboBootstrap.startConfigCenter(DubboBootstrap.java:623)
    

    心里怒骂一声“此处省略三个字”!!!溪源最终屈服于它,说服自己遇到问题不要慌,分析一波吧;面对第一次处理dubbo源码,溪源心里也没有底啊。但是按照往常溪源遇到问题的处理方式,就是看到上面的日志,找到第一个报错的类(为什么呢?跟过源码或者经验比较丰富的伙伴应该清楚,我们开发代码一般类似洋葱,一层套一层,故第一个报错的类,肯定是出问题的地方);于是乎,溪源选中CuratorZookeeperClient.java:83此类作为突破目标;
    在这里插入图片描述
    看到了日志报错的地方,开始吧~撸起袖子就是干啊;
    在这里插入图片描述

    跟进源码我们发现了时间超时问题,我们距离成功解决问题又进了一步;故我们在配置文件中修改其连接时间:
    官方文档:dubbo:registry
    接下来就是修改dubbo源码中的配置文件:
    将dubbo-provider.xml\dubbo-consumer.xml中均添加超时时间:

     <dubbo:registry address="zookeeper://IP地址:2181" timeout="10000"/>
    

    解决完这些问题,溪源心里已经不敢期望成功运行源代码了,心里担忧~
    小心尝试分别运行provider、consumer主启动类;
    在这里插入图片描述
    溪源心里一颗大石头终于放下来了,踩了一路的坑,终于成功运行demo了。

    总结

    从溪源构建代码过程中,发现即使过程中遇到各种坑,希望大家能够静下来心,寻找有效日志,作为突破目标,一举攻破!!!下面溪源也要追逐dubbo的学习了。
    溪源第一次接触dubbo源码,若是存在不足之处,希望大佬及时指正!
    若大家从中捞到东西,请给与溪源爱心三连哈~,激发溪源前进的脚步。

    展开全文
  • docker-jenkins部署cmake自动构建

    万次阅读 2021-03-09 17:39:29
    docker部署jenkins 具体部署参考链接 docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins --...通过URL访问触发构建 构建脚本 这里的$WORKSPACE对应docker映射到本地的目录/var/jenkins_home/workspace/te
    docker部署jenkins

    具体部署参考链接

    docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true  -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins
    
    工程配置

    源码管理:添加git地址
    在这里插入图片描述
    通过URL访问触发构建
    在这里插入图片描述
    构建脚本

    这里的$WORKSPACE对应docker映射到本地的目录/var/jenkins_home/workspace/test_c
    新建build目录存放cmake缓存,每次执行前删除build目录清空缓存

    在这里插入图片描述

    安装cmake插件

    在jenkins全局工具配置和插件管理中下载的cmake插件无法使用
    在这里插入图片描述
    进入容器内部安装,出现报错 E: Unable to locate package cmake
    在这里插入图片描述
    apt-get update 即可解决
    在这里插入图片描述

    安装gcc和g++

    之前没有安装gcc和g++,控制台输出提示编译器找不到

    在这里插入图片描述
    还是在容器中安装

    apt-get install -y gcc
    apt-get install -y g++
    
    触发构建

    之前在构建触发器里填的是TOKEN_NAME,要触发在浏览器打开完整URL
    http://localhost:8080/job/test_c/build?token=123456
    页面是空白的,重新触发刷新页面即可
    在这里插入图片描述

    构建成功
    在这里插入图片描述
    控制台输出查看编译详情
    在这里插入图片描述

    展开全文
  • netty源码构建

    万次阅读 2020-11-30 17:17:37
    netty源码构建 构建步骤 github源代码地址:https://github.com/netty/netty。 使用git clone:git clone git@github.com:netty/netty.git。 $ git clone git@github.com:netty/netty.git Cloning into 'netty'... ...
  • 构建:什么是构建

    千次阅读 2018-03-12 15:44:00
    构建:什么是构建 http://blog.csdn.net/azureternite/article/details/52213589 构建工具是一个把源代码生成可执行应用程序的过程自动化的程序(例如Android app生成apk)。构建包括编译、...
  • VUE构建工具

    万人学习 2016-11-08 13:13:10
    随着vue2.0的发布,本课程以 vue1.0 和 webpack 为基础,主要讲解项目的构建的,涉及到的vue-router和vuex,课程中带领帮助学员过渡到vue 2.0上,后一个商业实战源码的案例分析。课程紧凑,严密,风趣幽默。
  • DevOps构建策略管理

    2017-09-05 15:21:10
    DevOps构建策略管理
  • RocketMQ学习第一步之源码构建

    千次阅读 多人点赞 2020-09-06 15:33:31
    这里写目录标题绪论源码构建1.clone2. 构建3.配置3.1配置namesrv3.2新建文件夹3.3 配置broker3.4 配置producer3.5 配置 consumer4.启动 绪论 最近溪源在学习dubbo的相关API机制实践,如:负载均衡、服务分组、本地...
  • jenkins选择分支构建

    万次阅读 2017-06-28 11:43:54
    jenkins有个插件Git Parameter ,可以实现在构建时,选择分支构建,从而可以减少一些操作。一.下载安装插件 在管理中选插件,输入Git Parameter,点击安装。或者访问...
  • 构建工具相关

    万次阅读 2018-10-14 09:27:44
    构建工具是用于构建项目的自动化工具,主要包含以下工作: 依赖管理 不再需要手动导入 Jar 依赖包,并且可以自动处理依赖关系,也就是说某个依赖如果依赖于其它依赖,构建工具可以帮助我们自动处理这种依赖管理。 ...
  • 轻松构建Tomcat源码

    千次阅读 多人点赞 2020-05-24 15:33:43
    源码构建2.1配置2.2源码导入2.3启动源码运行 1.源码下载 下载链接:https://tomcat.apache.org/download-80.cgi#8.5.35 2.源码构建 2.1配置 解压缩: 首先idea编译器创建空项目tomcat_original,然后将源代码...
  • “部署构建”:用于部署的构建,这种构建会在Gitlab中下拉master分支中的最新的代码,然后使用maven进行的构建并发布到生产环境。 “回滚构建”:用于回滚的构建,根据构建号进行回滚,Jenkins...
  • Python快速构建神经网络

    万次阅读 多人点赞 2021-03-29 08:43:19
    机器学习一直是Python的一大热门方向,其中由神经网络算法衍生出来的深度学习在很多方面大放光彩。那神经网络到底是个个什么东西呢?
  • 上一篇:09-Springboot SPI(Service Provider Interface) 思想介绍 ...这里是真对maven项目做得源码构建,基于gradle:...本文maven构建boot版本是2.1.3 1.下载源码 2.下载后放在一个没有中文的文件夹下 看我的路径 3
  • jenkins构建maven父子项目,由于父子项目是在同一个git repository下,所以每次push都会触发所有modules构建,怎么做到修改哪个modules就构建哪个?
  • Jenkins 多分支构建

    万次阅读 2018-08-10 15:20:43
    今天终于搞定了 Jenkins 的多分支构建的配置。 以前在使用 gitlab-ci 时,可以根据不同的分支执行不同的构建,比如 release 分支执行发布到 fir 上的构建,其他分支只执行编译。但因为服务器上的 4G 内存还要跑其他...
  • DevOps构建之Jenkins集成

    千人学习 2017-09-05 15:22:46
    DevOps构建之Jenkins集成
  • jenkins只保留最近的构建文件(自动丢弃构建历史) 1、操作步骤 项目目录页面—>进入要自动清除构建历史的项目—>Configure(配置)—>General(通用)—>Discard old builds(丢弃旧的构建)—>Max ...
  • DevOps构建执行与跟踪

    2017-09-05 15:23:26
    DevOps构建执行与跟踪
  • H 8,12,18 * * 6,7 //每周六日的8点12点18点构建 H 8-23 * * 1-5 //每周1到周5,8点到23点,每小时构建一次 H 8-23/2 * * 1-5 //每周1到周5,8点到23点,每两小时构建一次 H/30 8-23 * * 1-5 //每周1到周5,8点到...
  • 知识图谱构建2——使用protege构建本体 采用自顶向下的方法来构建本体结构 利用protege构建本体 protege下载网址:https://protege.stanford.edu/ 修改自定义的IRI 创建三个类 每一个类和另外两个互斥 ...
  • Jenkins触发构建后一直在重复构建

    千次阅读 2019-10-10 11:01:44
    在Jenkins上点击构建后,发现一直在循环构建 紧急处理方案,将下一个等待构建的任务点击"X按钮"关闭。 下面再看如何永久解决这个问题。 这个问题原因因为Jenkins配置的映射分支存在多个导致的。 1.点击某一个...
  • 内部构建和外部构建这个词这么装逼,其实实际上面非常简单,别被吓到. 通俗一点,内部构建就是在项目内部,有CMakeList.txt的地方,直接cmake .,比如我们前面讲的简单案例都是最简单的内部构建. 结果你也看见了,就是在...
  • Jenkins构建项目的时候出现构建不稳定异常UNSTABLE
  • 前端构建工具

    千次阅读 2019-07-11 09:04:20
    前端构建工具
  • 目录前言1,关于鸿蒙系统2,根据文档编写Dockerfile3,使用镜像构建第一个程序Hi35164,构建另外一个程序Hi38615,总结 前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/108621002 ...
  • Jenkins定时构建

    万次阅读 2018-05-28 17:15:04
    1.定时构建语法*号等同于H,表示任意一个合理的数* * * * * 第一个*表示分钟,取值0~59,若其他值不做设定,则表示每个设定的分钟都会构建 5 * * * * ,表示每个小时的第5分钟都会构建一次 第二个*表示小时,取值0~...
  • 一、触发远程构建 在项目里面勾选上 触发远程构建 的选项 触发构建URL: http://192.168.66.101:8080/jenkins/job/demo_test_auth_pipeline/build?token=GwNyLBEvbOZpmbWailbUwyEqqKhx1SkP jenkins的ip/对应的工程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,646,507
精华内容 1,058,602
关键字:

构建