首页
常用命令
About Me
推荐
weibo
github
Search
1
linuxea:gitlab-ci之docker镜像质量品质报告
48,996 阅读
2
linuxea:如何复现查看docker run参数命令
20,462 阅读
3
Graylog收集文件日志实例
18,023 阅读
4
git+jenkins发布和回滚示例
17,602 阅读
5
linuxea:jenkins+pipeline+gitlab+ansible快速安装配置(1)
17,574 阅读
ops
Openvpn
Sys Basics
rsync
Mail
NFS
Other
Network
HeartBeat
server 08
Code
Awk
Shell
Python
Golang
virtualization
KVM
Docker
openstack
Xen
kubernetes
kubernetes-cni
Service Mesh
Data
Mariadb
PostgreSQL
MongoDB
Redis
MQ
Ceph
TimescaleDB
kafka
surveillance system
zabbix
ELK Stack
Open-Falcon
Prometheus
Web
apache
Tomcat
Nginx
自动化
Puppet
Ansible
saltstack
Proxy
HAproxy
Lvs
varnish
更多
音乐
影视
music
Internet Consulting
最后的净土
软件交付
持续集成
gitops
devops
登录
Search
标签搜索
kubernetes
docker
zabbix
Golang
mariadb
持续集成工具
白话容器
linux基础
nginx
elk
dockerfile
Gitlab-ci/cd
最后的净土
基础命令
jenkins
docker-compose
gitops
haproxy
saltstack
Istio
marksugar
累计撰写
676
篇文章
累计收到
140
条评论
首页
栏目
ops
Openvpn
Sys Basics
rsync
Mail
NFS
Other
Network
HeartBeat
server 08
Code
Awk
Shell
Python
Golang
virtualization
KVM
Docker
openstack
Xen
kubernetes
kubernetes-cni
Service Mesh
Data
Mariadb
PostgreSQL
MongoDB
Redis
MQ
Ceph
TimescaleDB
kafka
surveillance system
zabbix
ELK Stack
Open-Falcon
Prometheus
Web
apache
Tomcat
Nginx
自动化
Puppet
Ansible
saltstack
Proxy
HAproxy
Lvs
varnish
更多
音乐
影视
music
Internet Consulting
最后的净土
软件交付
持续集成
gitops
devops
页面
常用命令
About Me
推荐
weibo
github
搜索到
12
篇与
jenkins
的结果
2021-12-20
linuxea:jenkins清理workspace目录插件
清理workspace插件安装workspace cleanupmanage jenkins -> manage plugins -> 在可选插件框内输入workspace cleanup,并选中 --> install without restart而后在流水线语法里面,选择cleanws--> 高级,选择所有,而后生成流水线脚本生成cleanWs()而后将此语句放在post中post { always{ script { ..... cleanWs() } } failure{ script{ ..... cleanWs() } } }而后在java-maven-20211103_cd项目中运行结果中显示[Pipeline] cleanWs [WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] done [Pipeline] }对应的目录也会清空[root@linuxea-172_16_100_48 ~]# ls /data/jenkins-latest/jenkins_home/workspace/11月/java-maven-20211103-cd [root@linuxea-172_16_100_48 ~]#
2021年12月20日
1,670 阅读
0 评论
0 点赞
2019-03-16
linuxea:单机运行多个jenkins[docker]
在很长一段时间里面,jenkins都没有升级,这些部署的工具事实上也不需要频繁的升级。如果一旦要升级,可能面临的不单单是主版本升级,而是插件升级。插件升级就意味着插件的配置很大可能会丢失。上次jenkins安装时间在一年半之前,想原封不动的平滑升级难度太大。为了解决这个问题,并且顺利的升级。我采用在一台机部署两个jenkins,而后将旧的配置迁移到新的jenkins之上,这样做的好处在于,我可以在升级的过程中继续使用jenkins,将空闲的项目一个个迁移到新版本的jenkins。阅读本章节,你将了解如何单机部署两个jenkins(并非主从),通过人为选择迁移,从而完成单机版jenkins升级。配置端口如果要在一台机器运行两个jenkins,那么端口必然要不同,为了简化操作,我使用官网提供的docker镜像包进行二次封装。其中,我们仅仅需要修改启动脚本jenkins.sh,在其中添加一条端口配置。--httpPort=58080添加的位置在exec中,如下exec java -Duser.home="$JENKINS_HOME" "${java_opts_array[@]}" -jar ${JENKINS_WAR} --httpPort=58080 "${jenkins_opts_array[@]}" "$@"最终的脚本如下:#! /bin/bash -e : "${JENKINS_WAR:="/usr/share/jenkins/jenkins.war"}" : "${JENKINS_HOME:="/var/jenkins_home"}" touch "${COPY_REFERENCE_FILE_LOG}" || { echo "Can not write to ${COPY_REFERENCE_FILE_LOG}. Wrong volume permissions?"; exit 1; } echo "--- Copying files at $(date)" >> "$COPY_REFERENCE_FILE_LOG" find /usr/share/jenkins/ref/ \( -type f -o -type l \) -exec bash -c '. /usr/local/bin/jenkins-support; for arg; do copy_reference_file "$arg"; done' _ {} + # if `docker run` first argument start with `--` the user is passing jenkins launcher arguments if [[ $# -lt 1 ]] || [[ "$1" == "--"* ]]; then # read JAVA_OPTS and JENKINS_OPTS into arrays to avoid need for eval (and associated vulnerabilities) java_opts_array=() while IFS= read -r -d '' item; do java_opts_array+=( "$item" ) done < <([[ $JAVA_OPTS ]] && xargs printf '%s\0' <<<"$JAVA_OPTS") if [[ "$DEBUG" ]] ; then java_opts_array+=( \ '-Xdebug' \ '-Xrunjdwp:server=y,transport=dt_socket,address=5005,suspend=y' \ ) fi jenkins_opts_array=( ) while IFS= read -r -d '' item; do jenkins_opts_array+=( "$item" ) done < <([[ $JENKINS_OPTS ]] && xargs printf '%s\0' <<<"$JENKINS_OPTS") exec java -Duser.home="$JENKINS_HOME" "${java_opts_array[@]}" -jar ${JENKINS_WAR} --httpPort=58080 "${jenkins_opts_array[@]}" "$@" fi # As argument is not jenkins, assume user want to run his own process, for example a `bash` shell to explore this image exec "$@"PS:我要运行更多的jenkins怎么办?那么如果你要在机器上运行2个以上jenkins,那你至少要配置不同的端口。我这里演示的是已经在镜像内固定了端口号,你也可以做变量传递,仍然通过这个脚本。HHTTPORT=${HHTTPORT:-58080}而后在这里调用exec java -Duser.home="$JENKINS_HOME" "${java_opts_array[@]}" -jar ${JENKINS_WAR} --httpPort="${HHTTPORT}" "${jenkins_opts_array[@]}" "$@"而后启动的时候传入HHTTPORT就可以设置端口了,如果不传递变量值,默认就使用58080安装软件包我使用的是dockerhub上jenkins以alpine为基础的镜像,在后续的使用中,我会使用到ansible,在这次构建也会安装。如果你有其他的安装,你也需要在此安装。FROM jenkins/jenkins:2.164.1-alpine USER root COPY jenkins.sh /usr/local/bin/jenkins.sh RUN apk update && apk add ansible bash sshpass\ && chown jenkins.jenkins /usr/local/bin/jenkins.sh \ && chmod +x /usr/local/bin/jenkins.sh USER jenkins这里的USER是要切换用户,这里的用户为jenkins,UID是1000,在此后的文件挂载中,jenkins如果要写入到挂载的目录,就需要授权1000目录属主权限。编译完成后,push到dockerhub,名称是:marksugar/jenkins:2.164.1-alpine-ansible-58080docker-compose如下:version: '2' services: jenkins: image: marksugar/jenkins:2.164.1-alpine-ansible-58080 container_name: jenkins restart: always network_mode: host volumes: - /data/2019_docker_jenkins/jenkins_home:/var/jenkins_home - /etc/ansible:/etc/ansible ports: - 58080:58080这里需要挂在本地目录到容器内的目录,这样一来,容器内安装的插件和配置在docker容器删除后,是不会丢失的。但在开始之前,你要授权这个目录为1000chown -R 1000:1000 2019_docker_jenkins/在启动之后,可以使用docker logs jenkins看到日志的中的密码文件INFO: ************************************************************* ************************************************************* ************************************************************* Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password to proceed to installation: 18a1a76e02654bb5afaa4f17b44fafa5 This may also be found at: /var/jenkins_home/secrets/initialAdminPassword ************************************************************* ************************************************************* ************************************************************* 而后通过58080端口访问即可查看更多如果你要查看更多关于jenkins和gitlab-ci/cd的文章,请关注一下分类。gitlab-ci/cdjenkins持续集成
2019年03月16日
3,341 阅读
0 评论
0 点赞
1
2
...
6