持续集成
地狱之光
无无无无
展开
-
jenkins触发远程构建gitlab报404解决方法
需求:想实现当研发人员往gitlab仓库提交代码后自动触发Jenkins中对应JOB的构建。方案一:通过jenkins自带的“触发远程构建”方式,具体配置:1.配置JOB2.配置gitlab项目的webhook点击测试报404错误,如下图:问题排查:通过日志发现并没有请求过来,判定可能是权限问题,但不知道为什么是报404而不是报30X权限相关错误,抱着测试的态度...原创 2020-03-26 22:36:35 · 7695 阅读 · 5 评论 -
harbor0.45配置
本机环境centos7.2 docker 1.12.3docker-compose 1.8.1一使用http方式1.编辑/lib/systemd/system/docker.service ,在ExecStart处增加 --insecure-registry=192.168.125.154,保存重启docker deamon2.修改harbor.cfg中的ui_url原创 2016-12-01 17:42:10 · 1050 阅读 · 0 评论 -
通过enforcer插件定位jar包或类冲突问题
jar包或者类冲突,一般日志中出现类似于: Java.lang.NoClassDefFoundError,java.lang.NoSuchMethodError,java.lang.NoSuchFieldError,java.lang.NoSuchMethodException,java.lang.LinkageError,java.lang.ClassNotFoundException转载 2017-05-27 11:17:59 · 2611 阅读 · 0 评论 -
maven3.0.3编译报错,提示找不到传递依赖
传递的依赖,编译时报找不到此依赖(官网bug记录见MNG-5121)---https://issues.apache.org/jira/browse/MNG-5121现象: 用户本地编译没问题,job编译不通过,示(此bug在3.0.4版本已修复,用户本地安装的很可能是3.0.5版本maven)解决办法: 把那些找不到的传递依赖在pom.xml再显式定义一遍依赖原创 2017-06-02 19:31:31 · 439 阅读 · 0 评论 -
gitlab解决#<Unicorn::HttpServer:0x007f854b8b8ad0>: worker (pid: 29607) exceeds memory limit
前些天有用户反映通过http方式git clone代码报502,马上去查看gitlab的日志,发现如下:W, [2017-06-04T06:00:15.559298 #29607] WARN -- : #: worker (pid: 29607) exceeds memory limit (232222720 bytes > 220933571 bytes)W, [2017-06-04T原创 2017-06-09 13:23:16 · 4246 阅读 · 0 评论 -
gitlab一键安装
系统:centos71.安装依赖(如果想作为发邮件的服务器则安装postfix)sudo yum install curl policycoreutils openssh-server openssh-clientssudo systemctl enable sshdsudo systemctl start sshdsudo yum install postfixsudo sy原创 2017-07-21 19:43:03 · 603 阅读 · 0 评论 -
gitlab9.4邮件不能发信问题
通过docker方式部署gitlab9.4版本,发现不能正常发送邮件(默认注册用户是不发邮件的,而添加ssh key或管理后台添加用户是发邮件的)通过不断尝试发现docker方式必须通过smtp方式来发送邮件,参考配置:https://docs.gitlab.com/omnibus/settings/smtp.html注意修改完gitlab.rb后执行 sudo gitlab-ctl原创 2017-08-24 18:00:17 · 3659 阅读 · 0 评论 -
docker容器limit和inode问题
之前以为只是aufs或overlay才有这个问题。。。但今天发现devicemapper存储也存在该问题。解决:编辑docker配置文件 /etc/sysconfig/dockerother_args="-g /home/q/docker --default-ulimit nofile=65535 --log-driver=none"保存后,重启docker服务。原创 2017-08-28 12:02:22 · 3633 阅读 · 0 评论 -
在centos7下安装gitlab-runner
记录一下安装步骤:1.下载安装包并设置执行权限sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-linux-amd64sudo chmod +x /原创 2017-08-30 19:04:33 · 6774 阅读 · 0 评论 -
docker插件之docker-plugin实现slave的动态扩容与缩容
Jenkins ver. 2.32.2Docker plugin 0.16.22系统管理----系统设置----新增一个云,选择docker配置里面的Images信息jj原创 2017-05-04 18:17:18 · 2697 阅读 · 0 评论 -
使用 npm shrinkwrap 来管理项目依赖
原文 http://tech.meituan.com/npm-shrinkwrap.html主题 测试技术管理依赖是一个复杂软件开发过程中必定会遇到的问题。在Node.js项目开发的时候,我们也经常需要安装和升级对应的依赖。虽然 npm 以及语意化的版本号 (semantic versioning, semver) 让开发过程中依赖的获取和升级变得非常容易, 但不转载 2017-05-23 16:01:16 · 3803 阅读 · 0 评论 -
升级ios10默认ruby版本
公司IOS编译机是IOS10.11.5系统,默认ruby为2.0.0因cocoapods高版本需要ruby>=2.2.2,所以需要对原有ruby进行升级或重新通过rvm安装。但通过rvm安装的ruby版本使用起来需要额外设置环境变量,并且不同的工具查找 不同路径下的 ruby,所以打算升级系统默认的ruby .具体操作:1.安装homebrew ruby -e "$(c原创 2016-12-23 16:47:10 · 938 阅读 · 0 评论 -
nginx的upstream目前支持5种方式的分配
nginx的upstream目前支持5种方式的分配 1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如: upstream bakend { server 192.168.0.14 weight=10;转载 2016-12-23 17:42:31 · 1606 阅读 · 0 评论 -
使用Gitlab一键安装包后的日常备份恢复与迁移
Gitlab 创建备份使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份:gitlab-rake gitlab:backup:create使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1393513186_gitlab_backup.tar的压缩包, 这转载 2016-12-19 18:50:25 · 713 阅读 · 0 评论 -
jenkins插件之docker plugin
看了下该插件介绍说可用实现slave的动态扩展,比较感兴趣,今天亲手实践了一下,特把相关配置简单记录一下:1.安装docker plugin插件2.在jenkins的系统管理----系统设置: i.添加云---Docker ii.添加docker images 模板 这里要注意:Hostname是设置启动的s原创 2017-02-04 20:01:39 · 4841 阅读 · 0 评论 -
jenkins中连接slave节点遇到Password change required but no TTY available问题
今天因为系统问题,重启了jenkins服务,但重启后发现有一个slave链接报错,日志显示:根据提示说是密码过期了,查阅了资料,了解到有的linux发行版本账号密码有90天的过期限制,解决办法就是登录到该服务上执行如下命令来延长账号的过期时间:sudo chage -M 999 jenkins 再次连接slave,成功。原创 2017-02-24 07:07:46 · 7344 阅读 · 0 评论 -
jenkins插件之权限认证相关插件Active Directory和LDAP
Active Directory配置:LDAP插件 配置:原创 2017-03-21 11:38:30 · 3429 阅读 · 0 评论 -
jira7.1配置LDAP
进入管理后台-------用户管理--------用户目录注意:如果是多个域或同一个域多个OU的话,则多添加目录即可。原创 2017-03-21 17:39:29 · 5640 阅读 · 0 评论 -
让jenkins支持LDAP的多OU
因公司架构调整,需要将其中几个ou的用户认证集成到jenkins方法一:通过jenkins的 Active Directory或LDAP插件,直接配置根就可以---------------------缺点是,当架构足够大的话每次登陆验证耗时较长,所以产生标题所说的需求。如LDAP中:方法二:因为方法一中的两个插件都不支持多OU(ldap插件中有人2015年就提出原创 2017-03-21 17:57:33 · 5455 阅读 · 0 评论 -
kubernetes环境搭建
一.环境准备三台vm虚拟机(centos7)192.168.125.164 node1192.168.125.165 node2192.168.125.166 node31.各节点修改各自的主机名(hostnamectl set-hostname node1),并将上面的内容添加到/etc/hosts中。2.各节点安装kubernetes #yum -y i原创 2017-05-08 18:36:48 · 11499 阅读 · 0 评论 -
通过http协议克隆gitlab上的代码免账号密码输入
大家都是知道克隆gitlab上的代码一般都是通过ssh协议以达到免秘钥输入的目的,但今天因公司gitlab服务器的问题,导致ssh方式老出现认证失败,很多开发人员发来求教,也有几个提出了通过http/https方式能不能免费账号密码的输入呢?这里提供两个方法:1.可以利用宿主目录下的.netrc文件(大家可用百度下) 在宿主目录下创建.netrc,并增加如下内容保存:原创 2017-10-20 14:29:34 · 13373 阅读 · 0 评论 -
jenkins之Multibranch Pipeline类型job
Multibranch Pipeline类型的job好处就是可以自动扫描git工程所有分支,并创建对应的job(前提是分支根目录中包含有Jenkinsfile文件。可以通过Scan Multibranch Pipeline Triggers 来设置每隔多长时间扫描一下各分支,如有提交则构建。优化:上面的触发条件总感觉很多时候比较浪费系统资源,也原创 2018-01-02 18:16:38 · 6750 阅读 · 1 评论 -
jenkins插件之Active Choices Parameter
勾选Groovy Script在 Script----Groovy Script中输入:def connection = new URL("http://10.103.27.177:8090/project/getBranchList?clusterName=jianlc-mgmt").openConnection();connection.setRequestMethod('GET原创 2017-12-22 20:43:36 · 6405 阅读 · 0 评论 -
Phabricator安装及配置
一.安装用的是docker镜像hachque/phabricator启动:#docker run -d --restart=always -p 80:80 -p 443:443 -p 22:22 --env PHABRICATOR_HOST=cr.abc.com --env MYSQL_HOST=ip --env MYSQL_USER=user --env MYSQL_PASS...原创 2017-12-28 20:54:01 · 3751 阅读 · 0 评论 -
修改docker默认存储位置
centos6下vi /etc/sysconfig/docker:other_args="--graph=/server/docker --selinux-enabled -H fd:// --insecure-registry=registry.abc.com --registry-mirror=https://pee6w651.mirror.aliyuncs.com"原创 2018-02-11 11:07:24 · 1753 阅读 · 0 评论 -
FABRIC执行在后台运行的命令
最近一个项目需要用30个左右的jmeter客户端来做压力测试,需要做一些部署和配置工作,这时我喜欢的Fabric就可以发挥它的力量了。其中,我希望将jmeter施压段放到后台去运行,最开始将“nohup xxx &”放到fabric的run()中执行时,却没有执行;后来看了下文档,并做了些实验。对于直接使用“&”放到后台执行的情况,Fabric推荐使用如下3种情况来替代(按鲁棒性从...转载 2018-03-06 20:36:25 · 2077 阅读 · 0 评论 -
ios版本发布
简单记录下过程1.通过jenkins挂载一个ios系统的slave; 。安装Java 。配置git 。连接slave2.搭建ios的编译环境 。安装Xcode 。安装证书及证书描述文件3.编译,导出包(ipa),推送到蒲公英; 。xcodebuild clean 。xcodebuild -target 11 -configuration $BUILD_TYPE 。xcrun ...原创 2018-03-07 21:28:56 · 376 阅读 · 0 评论 -
fabric获取shell命令返回值
alarm_msg = local(zabbix_off,capture=True)说明:capture=True参数默认值是False,表示输出到终端)原创 2018-03-01 18:06:04 · 2805 阅读 · 0 评论 -
jenkins插件之Build Pipeline Plugin和Delivery Pipeline Plugin
pipeline字面意思就是流水线,将很多步骤按顺序排列好,做完一个执行下一个。下面简单介绍下如何使用该插件帮我们完成一些流水线型的任务一,安装pipeline。进入jenkins的【系统管理】--【插件管理】页面,选择【可选插件】然后搜索pipeline。 然后选择直接安装,它会将依赖的一些插件也一并安装。安装完成后重启jenkins就可以使用了。二,使用pipeline。1.在je...转载 2016-10-27 16:53:31 · 5760 阅读 · 0 评论 -
Jenkins X介绍及安装
Jenkins X 是一个高度集成化的CI/CD平台,基于Jenkins和Kubernetes实现,旨在解决微服务体系架构下的云原生应用的持续交付的问题,简化整个云原生应用的开发、运行和部署过程。Jenkins X 部分新特性1. 自动化一切:自动化CI/CD流水线选择项目类型自动生成Jenkinsfile定义流水线自动生成Dockerfile并打包容器镜像自动创建Helm Chart并运...原创 2018-03-31 20:00:45 · 11679 阅读 · 1 评论 -
nginx设置访问白名单(ip)
针对要配置的域名配置文件:server { listen 443; server_name abc.com; #access_log /server/nginx/log/abc.com.log main; ssl on; ssl_certificate /server/nginx/sslcom/dom原创 2018-03-26 20:52:29 · 17104 阅读 · 0 评论 -
Jira与Confluence的集成
背景: 一半的团队同时使用JIRA和Confluence。开发团队使用JIRA跟踪他们的工作,其余的团队使用Confluence协同处理文档:产品需求、市场计划、文档管理、销售报告等任何有助于形成产品的新思想。实现:无需额外安装任何插件,只需在系统配置-----应用程序连接处建立相互信任的应用即可。注意:。jira和confluen原创 2018-02-10 01:08:03 · 32526 阅读 · 1 评论 -
git工程导入到新的gitlab服务器中
记录一下操作步骤:1.git clone到本地2.目标服务器先创建一个git project3.本地git关联新git #git remote add new git@test.com:test/test.git4.push到新git #git push -u new --all #git push -u new --tags注意:需要先将原创 2018-02-03 16:38:31 · 1237 阅读 · 0 评论 -
nexus 3.6做docker私服
1.登录系统后台 http://ip:8081,输入管理用户admin/admin1232.创建仓库,选择docker类型的仓库,这里以docker(hosted)为例 3.配置仓库 仓库指定一个唯一的名字,然后是选择http或https,这里只是测试用,所以走的http注意:端口那里要确定好。4.客户端配置 因为使用的是http,所以需原创 2018-01-04 23:41:42 · 1643 阅读 · 0 评论 -
gitlab之web hook设置
有些需求可能会通过web hook来实现,如果是指定项目可以直接修改项目.git/hooks下对应的钩子文件,如果是全局的(针对所有项目的,则修改/opt/gitlab/embedded/service/gitlab-shell/hooks中的。原创 2017-11-21 17:01:57 · 27085 阅读 · 0 评论 -
前段node项目构建常见问题
1.npm install 报权限错误,如: 解决办法:添加--unsafe-perm 参数,如#npm install --registry=https://registry.npm.taobao.org --unsafe-perm说明:npm会有生命周期,某个包会有生命周期来执行一些东西,安全起见会自动降级导致没有权限执行一些操作,通过--unsafe-perm参原创 2017-12-15 16:12:39 · 4782 阅读 · 1 评论 -
gitlab禁止用户创建组
1.限制普通用户创建组 当然通过管里用户在后台新建用户或修该用户的时候去掉创建组的复选框。。但针对开发注册或与ldap集成的用户怎么配置成默认就不能创建呢?解决办法: 在/etc/gitlab/gitlab.rb中 gitlab_rails['gitlab_default_can_create_group'] = fasle 保存,重新gitlab原创 2017-11-08 11:43:14 · 8951 阅读 · 1 评论 -
让jenkins跑在jdk1.8,却实现用jdk1.7构建
项目背景:目前公司内部项目统一用的jdk1.7,但搭建sonarqube平台用的6.7版本必须要求使用jdk1.8及以上。实现方案:通过tomcat启动jenkins,在tomcat的bin/start.sh后面追加:这样的话宿主系统还是用自身默认的jdk版本,而jenkins却已通过jdk1.8启动了,这个时候通过jenkins构建默认的jdk是1.8,如何让其默认是jdk1原创 2018-01-12 13:14:03 · 6804 阅读 · 3 评论 -
maven项目常见问题及解决
1.针对多模块工程,多个jar还有war,如何实现只发jar,不发war解决方案:可以在项目根目录直接执行mvn deploy进行发布,也可以通过切换到子模块目录下执行mvn deploy,根据自身情况。只发jar,不发war可以通过在war模块的pom.xml中增加下面代码来实现:plugin> groupId>org.apache.maven.pluginsg原创 2018-01-09 21:30:31 · 1446 阅读 · 1 评论 -
jenkins插件之Ansible Plugin
本文重点说下在pipeline下的配置:pipeline { agent { label 'master' } options { timestamps() } stages { stage('deploy_test') { when {anyOf {environment name:'env',value:'原创 2018-01-16 16:23:00 · 4576 阅读 · 0 评论