配置管理
地狱之光
无无无无
展开
-
jenkins触发远程构建gitlab报404解决方法
需求:想实现当研发人员往gitlab仓库提交代码后自动触发Jenkins中对应JOB的构建。方案一:通过jenkins自带的“触发远程构建”方式,具体配置:1.配置JOB2.配置gitlab项目的webhook点击测试报404错误,如下图:问题排查:通过日志发现并没有请求过来,判定可能是权限问题,但不知道为什么是报404而不是报30X权限相关错误,抱着测试的态度...原创 2020-03-26 22:36:35 · 7695 阅读 · 5 评论 -
jenkins插件之Email Extension Plugin
这里不具体讲解该软件的配置和使用,重点说下自带模板出处及在PIPELINE中的使用系统自带的邮件模板其实都在$JENKINS_HOME/plugins/email-ext/WEB-INF/lib下的email-ext.jar中,所以如果想对现有模板进行修改可以将解压后的模板(hudson\plugins\emailext\templates)拷贝到$JENKINS_HOME/email-tem原创 2018-01-23 10:07:44 · 2975 阅读 · 0 评论 -
sonarqube6.7安装及配置
部署:1.先为sonar创建mysql数据库mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' I原创 2017-12-27 16:09:09 · 9436 阅读 · 0 评论 -
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 评论 -
RabbitMQ开机自启动
如通过yum安装的话直接通过chkconfig rabbitmq-server on 就可以设置为开机自启动,但公司这边是通过源代码进行安装,如何也通过系统服务来自启动呢?步骤:1.增加自启动脚本:在/etc/init.d目录下新建一个rabbitmq-server文件,内容如下:#!/bin/sh## rabbitmq-server RabbitMQ broker#原创 2018-01-15 16:04:22 · 15243 阅读 · 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跑在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 评论 -
jenkins之Multibranch Pipeline类型job
Multibranch Pipeline类型的job好处就是可以自动扫描git工程所有分支,并创建对应的job(前提是分支根目录中包含有Jenkinsfile文件。可以通过Scan Multibranch Pipeline Triggers 来设置每隔多长时间扫描一下各分支,如有提交则构建。优化:上面的触发条件总感觉很多时候比较浪费系统资源,也原创 2018-01-02 18:16:38 · 6750 阅读 · 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 评论 -
前段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之web hook设置
有些需求可能会通过web hook来实现,如果是指定项目可以直接修改项目.git/hooks下对应的钩子文件,如果是全局的(针对所有项目的,则修改/opt/gitlab/embedded/service/gitlab-shell/hooks中的。原创 2017-11-21 17:01:57 · 27085 阅读 · 0 评论 -
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 评论 -
jenkins为build设置description
需求: 在持续集成过程中,随着feature的不断加入,版本越来越多,你希望每个build成功之后能显示一些很重要的信息,比如版本号,当前该build支持的主要feature等。这样不论是开发还是测试,在拿build的时候都能一眼就看出该build对应的版本号以及主要的feature。这里主要介绍两种方式:一.通过调用jenkins内部命令原创 2017-11-16 11:54:03 · 12192 阅读 · 0 评论 -
GitLab 之 Git LFS 大文件存储的配置
目录Git LFS 介绍环境、软件准备Git LFS 安装GitLab LFS 的配置1、Git LFS 介绍Git 大文件存储(Large File Storage,简称LFS)目的是更好地把大型二进制文件,比如音频文件、数据集、图像和视频等集成到 Git 的工作流中。我们知道,Git 存储二进制效率不高,因为它会压缩并存储二进制文件的所有完整版本,随着版本的不断增长转载 2017-10-20 18:58:23 · 3798 阅读 · 0 评论 -
通过ldapsearch命令调试LDAP配置
如果系统上没有下面相关命令的话,请执行下面的语句安装:(centos6下)#yum install openldap-clients调试方法,输入:ldapsearch -h 11.111.117.111 -p 389 -x -b "ou=People,dc=example,dc=org" -D "cn=aaa,dc=example,dc=org" "(&(objectClas原创 2018-02-02 00:04:54 · 19339 阅读 · 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 评论 -
git clone 过程中 git-pack-objects died问题的解决办法
通过网上参考文档发现可能是内存问题,于是重启了下,再次git clone发下一切OK。原创 2018-01-26 20:39:33 · 7325 阅读 · 0 评论 -
mac shell下sed的用法
原有的sed命令在linux下正常,但切换到mac下执行各种报错,查阅资料了解到mac系统是原生于bds系统的,sed命令和gnu不同,区别如下:1.替换文件内容----替换匹配到的下行将0修改为1 linux下: $sed -i '' '/com/n;s/0/1/' project.pbxproj mac shell下:$sed -i '' '/com/n;s/0/1/' project.pb...原创 2018-05-17 00:58:27 · 11345 阅读 · 3 评论 -
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 评论 -
kuberntes相关镜像下载
在安装kubernets或创建kubernets中的pod时,引用的镜像默认都是从gcr.io中下载,但该网站在国内属于被墙的范围。docker pull gcr.io/google_containers/pause-amd64:3.0提示下面的错误:Error response from daemon: Get https://gcr.io/v2/: net/http: request ca原创 2018-04-08 15:45:10 · 797 阅读 · 0 评论 -
获取java应用PID的几种方式
方式一:通过端口获取-缺点:对于通过tomcat容器方式启动的话,可能会出现进程存在,但服务没有启动的情况,此时通过该方案无法通过端口无法获取到PID,导致进程存在的情况下再此启动;比如:ss -lntp sport = :8080 | awk 'NR > 1 {print $NF}' | cut -d ',' -f 2 | head -n 1 | sed 's/pid=//'原创 2018-03-30 15:59:44 · 3503 阅读 · 0 评论 -
Confluence 6.6安装注意事项
1.数据库配置[mysqld]max_allowed_packet = 512Minnodb_log_file_size = 2GBcharacter_set_server = utf8collation-server = utf8_bintransaction_isolation = READ-COMMITTEDConfluence需要使用utf8_bin ,并将事务隔离策略设为READ...原创 2018-02-08 01:21:21 · 2107 阅读 · 0 评论 -
jenkins插件之Build Pipeline Plugin和Delivery Pipeline Plugin
pipeline字面意思就是流水线,将很多步骤按顺序排列好,做完一个执行下一个。下面简单介绍下如何使用该插件帮我们完成一些流水线型的任务一,安装pipeline。进入jenkins的【系统管理】--【插件管理】页面,选择【可选插件】然后搜索pipeline。 然后选择直接安装,它会将依赖的一些插件也一并安装。安装完成后重启jenkins就可以使用了。二,使用pipeline。1.在je...转载 2016-10-27 16:53:31 · 5760 阅读 · 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 评论 -
jira问题及解决
今天因升级内容重启了服务器,启动以后出现各种问题,现记录如下:1.Unable to create and acquire lock file for jira.home directory '/var/atlassian/application-data/jira解决:删除jira_home目录下的lock文件(.jira-home.lock),是一个隐藏文件,然后重启jira服务即可。2.Un...原创 2018-01-02 20:48:05 · 16995 阅读 · 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 评论 -
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 评论 -
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 评论 -
通过http协议克隆gitlab上的代码免账号密码输入
大家都是知道克隆gitlab上的代码一般都是通过ssh协议以达到免秘钥输入的目的,但今天因公司gitlab服务器的问题,导致ssh方式老出现认证失败,很多开发人员发来求教,也有几个提出了通过http/https方式能不能免费账号密码的输入呢?这里提供两个方法:1.可以利用宿主目录下的.netrc文件(大家可用百度下) 在宿主目录下创建.netrc,并增加如下内容保存:原创 2017-10-20 14:29:34 · 13373 阅读 · 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 评论 -
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 评论 -
node项目编译加速
公司项目适采用的前后端分离研发模式,针对后端用java的基本是是通过maven来构建的,今天要说的是前端基于node的项目。node某块安装过程如下: .发出npm install 命令; .npm向registry查询某块压缩包的网址; .下载压缩包,存放在~/.npm目录 (本地缓存目录,可通过npm config set cache path 来设置本地缓存目录原创 2016-09-07 14:48:13 · 6072 阅读 · 0 评论 -
os x下证书的导入
简介:针对ios打包需要提供用于发布程序的p12证书,证书的password、以及对应的描述文件。传统做法:1.在要导入的OS X系统上双击该P12证书进行导入,如果有密码的话则在提示框中输入对应的密码即可。(另外针对后面自动化调用的话还需要挨个设置证书的属性为允许任何程序使用)2.双击证书的描述文件mobileprovision(mobileprovision描述文件里面包含了 Ap原创 2016-08-24 19:36:38 · 11319 阅读 · 0 评论 -
配置管理之IOS编译发布环境
来去哪儿网半年了,总结下针对ios的编译部署机环境方面的管理。现状:公司用了6台垃圾桶和4台mini机作为qdr(编译发布平台)的slave节点;问题:物理成本比较高 节点的环境安装 部署需要大半天甚至一天的时间 未纳入到环境配置管理来,从而导致无法保证各节点环境的一致性,完整性 和追溯性解决方案:1.来到公司后初步事项用虚机的原创 2016-08-24 19:12:24 · 557 阅读 · 0 评论 -
配置管理之文档管理
话说工具要专业,这里提两个工具:。cognidox 可以发布多个版本,并且可以进行review. www.cognidox.com。confluence 可以把word,excel导成wiki网页编辑,导出后格式还不便,还可以方便查看历史版本的差异。原创 2016-09-13 10:50:41 · 592 阅读 · 0 评论 -
尝试docker1.12内置swarm
自从Dockercon 2016发布Docker 1.12版本以来, 经历了几个RC版本后Docker 1.12终于迎来了第一个稳定版.Docker 1.12展露了docker一统生态的野心。docker engine集成swarmkit, 使得你可以不用安装额外的软件包, 就可以用简单的命令创建和管理docker swarm集群。同时集成了swarm集群的安全特性和K-V存储转载 2016-08-31 19:50:49 · 5598 阅读 · 2 评论 -
借助docker技术提高研发效率
目前的研发和运维经常会遇到下面的问题:1.开发、测试及生产环境不一致; 环境搭建及部署步骤繁琐,而交付给测试人员的时候不是整个产品,而只是项目代码,这样就导致开发环境(开发联调环境)与测试环境极大可能不一致,从而影响测试的准确性和解决BUG的时间(因为要分析BUG是否因为环境导致的);2. 申请测试资源比较麻烦;3. 测试需要一个非常干净的环境来进行测试,以免造成测原创 2015-07-09 17:22:01 · 3312 阅读 · 0 评论 -
redmine与svn完美集成方案
实现功能:1.代码的追踪;2.原创 2014-05-13 15:55:40 · 9421 阅读 · 0 评论 -
redmine通过https远程连接svn
redmine通过https连接远程svn,总是失败。查看redmine\log\production,每次连接总是返回“Error parsing svn output: #<REXML::ParseException: No close tag for /lists/list>”网上很多人都在问这个问题,查了好几天又反复试验,终于解决了。我用的是bitnam转载 2014-03-24 10:52:19 · 2441 阅读 · 0 评论