首页
About Me
推荐
weibo
github
Search
1
linuxea:gitlab-ci之docker镜像质量品质报告
49,451 阅读
2
linuxea:如何复现查看docker run参数命令
23,046 阅读
3
Graylog收集文件日志实例
18,582 阅读
4
linuxea:jenkins+pipeline+gitlab+ansible快速安装配置(1)
18,275 阅读
5
git+jenkins发布和回滚示例
18,181 阅读
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/logs
Open-Falcon
Prometheus
victoriaMetrics
Web
apache
Tomcat
Nginx
自动化
Puppet
Ansible
saltstack
Proxy
HAproxy
Lvs
varnish
更多
互联咨询
最后的净土
软件交付
持续集成
gitops
devops
登录
Search
标签搜索
kubernetes
docker
zabbix
Golang
mariadb
持续集成工具
白话容器
elk
linux基础
nginx
dockerfile
Gitlab-ci/cd
最后的净土
基础命令
gitops
jenkins
docker-compose
Istio
haproxy
saltstack
marksugar
累计撰写
690
篇文章
累计收到
139
条评论
首页
栏目
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/logs
Open-Falcon
Prometheus
victoriaMetrics
Web
apache
Tomcat
Nginx
自动化
Puppet
Ansible
saltstack
Proxy
HAproxy
Lvs
varnish
更多
互联咨询
最后的净土
软件交付
持续集成
gitops
devops
页面
About Me
推荐
weibo
github
搜索到
10
篇与
的结果
2018-10-19
linuxea: Git 指定检出目录
git在检出时,默认检出所有文件,那如果我只想稀疏的检出某一个目录该怎么办。git是可以支持这种类似的需求方式,如下:第一次克隆,不检出[root@linuxea ~]# git clone --no-checkout https://github.com/LinuxEA-Mark/docker-subversion.git Cloning into 'docker-subversion'... remote: Enumerating objects: 119, done. remote: Total 119 (delta 0), reused 0 (delta 0), pack-reused 119 Receiving objects: 100% (119/119), 17.97 KiB | 0 bytes/s, done. Resolving deltas: 100% (62/62), done. [root@linuxea ~]# cd docker-subversion/启用稀疏的方式[root@linuxea docker-subversion]# git config core.sparsecheckout true[root@linuxea docker-subversion]# ls .git/info/ exclude [root@linuxea docker-subversion]# ls接下来就需要将目录名称写入sparse-checkout文件
2018年10月19日
2,758 阅读
0 评论
0 点赞
2017-09-23
linuxea:jenkins+pipeline+gitlab+ansible快速安装配置(1)
jenkins+gitlab+ansible配合使用考虑了一下子,还是整理了一些图片和文字,简单的记录安装的过程,主要想玩pipeline。那么在后面的几篇文章中会介绍jenkins+sonarqube的构建,当然,还是用来做pipeline来玩,告别之前的那种模式,本章主要介绍jenkins+gitlab+ansible快速部署sonarqube 安装:https://www.linuxea.com/1722.html1,jenkins在这里负责发布构建,主要插件pipeline,gitlab,sonarqube2,gitlab代码管理3,ansible用来推送代码jenkins安装参考:https://pkg.jenkins.io/redhat-stable/我这里安装的是2.73.1安装jenkins和插件安装jenkins[root@linuxea.com-Node113 ~]# sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo [root@linuxea.com-Node113 ~]# sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key [root@linuxea.com-Node113 ~]# yum install jenkins -y [root@linuxea.com-Node113 ~]# /etc/init.d/jenkins start [root@linuxea.com-Node113 ~]# iptables -I INPUT 5 -p tcp -m tcp -m state --state NEW -m multiport --dports 22,3306,10050,10051,8080 -m comment --comment "ALL" -j ACCEPT打开浏览器进行安装和配置cat /var/lib/jenkins/secrets/initialAdminPassword根据提示将密码输入安装gitlab和pipeline插件我这里有vpn,直接安装安装pipeline等待安装完成后进入界面安装ansible和配置jenkins和gitlab[root@linuxea.com-Node113 ~]# yum install jenkins添加主机[root@linuxea.com-Node113 ~]# cat /etc/ansible/hosts [webapp] 10.10.0.98 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass="mima"配置密钥和主机配置jenkins用户终端修改jenkins用户shell为bashjenkins:x:989:985:Jenkins Automation Server:/var/lib/jenkins:/bin/bash配置ansible和源站测试连通性[root@linuxea.com-Node113 /etc/ansible]# su - jenkins尝试链接一次[jenkins@linuxea.com-Node113 ~]$ ansible webapp -m ping 10.10.0.98 | SUCCESS => { "changed": false, "ping": "pong" }之后会用到sync模块,模块本身不支持密码,所以传递密钥即可[jenkins@DS-VM-Node113 ~]$ ssh-keygen -t rsa传递密钥给源站机器[jenkins@linuxea.com-Node113 ~]$ ssh-copy-id root@10.10.0.98 /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@10.10.0.98's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@10.10.0.98'" and check to make sure that only the key(s) you wanted were added.测试[jenkins@linuxea.com-Node113 ~]$ ssh root@10.10.0.98 Last login: Wed Sep 20 13:41:41 2017 from 10.10.240.113 [root@linuxea.com-Node98 ~]# 配置gitlab密钥同时也需要将jenkins的id_rsa.pub文件添加到gitlab项目中方便拉代码[jenkins@linuxea.com-Node113 ~]$ cat /var/lib/jenkins/.ssh/id_rsa.pub 复制信息到项目中配置jenkins密钥在jenkins中修改credentials编辑到此位置,安装配置完成
2017年09月23日
18,275 阅读
0 评论
1 点赞
2017-02-16
mac上git报Connection refused端口错误解决
host gitub.com port 22: Connection refusedfatal: Could not read from remote repository.1,解决ssh connect to host github.com port 22 connection timed out[root@linuxea-com ~]# vim ~/.ssh/config Host github.com User xxx@163.com (你注册github时的邮箱,这里使用注册的用户名也行) Hostname ssh.github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa Port 4432,mac提示ssh: connect to host localhost port 22: Connection refused解决方法:打开系统偏好设置 —— 共享,选中远程登录:3,加端口链接[root@linuxea-com ~]# git clone ssh://git@mydomain.com:[port]/gitolite-admin如:[root@linuxea-com ~]# git clone ssh://git@github.con:443/dt1k23eji/L21ao_3OS.git4,如果以上还是没有解决,可以尝试使用http,不过你可能需要一个记录密码的客户端
2017年02月16日
10,157 阅读
0 评论
0 点赞
2017-01-12
gitlab-8.9.9安装和汉化
下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/开始安装[root@linuxea-com ~]# yum install gitlab-ce-8.8.9-ce.0.el7.x86_64.rpm -y [root@linuxea-com ~]# cat /etc/gitlab/gitlab.rb|grep 'http://10.0.1.61' external_url 'http://10.0.1.61' [root@linuxea-com ~]# gitlab-ctl reconfigure [root@linuxea-com ~]# gitlab-ctl stop ok: down: gitlab-workhorse: 1s, normally up ok: down: logrotate: 0s, normally up ok: down: nginx: 1s, normally up ok: down: postgresql: 0s, normally up ok: down: redis: 0s, normally up ok: down: sidekiq: 0s, normally up ok: down: unicorn: 0s, normally up下载中文补丁[root@linuxea-com ~]# git clone https://gitlab.com/larryli/gitlab.git Gitlab-cn && cd Gitlab-cn查看版本[root@linuxea-com Gitlab-cn]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 8.9.9 [root@linuxea-com ~/sourceGitlab]# git diff origin/8-8-stable origin/8-8-zh > /tmp/8.8.diff回车,提示输入y即可[root@linuxea-com ~/sourceGitlab]# patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < /tmp/8.9.9.diff [root@linuxea-com ~/sourceGitlab]# gitlab-ctl start不要被中文登陆界面所误导,登陆进去你看到的将会是中英交互模式....请下载8.8.0完美汉化重新安装清理:1,gitlab-ctl uninstall 2,rm -rf /etc/gitlab/* /var/log/gitlab/ /var/opt/gitlab/ /opt/gitlab/web密码重置:gitlab-rails console productionirb(main):011:0> user = User.where(id:1).first => #<User id: 1, email: "admin@example.com", encrypted_password: "$2a$10$hnGIO79zr4ldahTwWVK4OOb9RQvV5Z1q.SaWjeIg/E....", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, created_at: "2017-01-12 03:37:45", updated_at: "2017-01-12 03:49:19", name: "Administrator", admin: true, projects_limit: 10, skype: "", linkedin: "", twitter: "", authentication_token: "WzXKZNQ3vr3JMeCMvyBR", theme_id: 2, bio: nil, failed_attempts: 4, locked_at: nil, username: "root", can_create_group: true, can_create_team: false, state: "active", color_scheme_id: 1, password_expires_at: nil, created_by_id: nil, last_credential_check_at: nil, avatar: nil, confirmation_token: nil, confirmed_at: "2017-01-12 03:37:45", confirmation_sent_at: nil, unconfirmed_email: nil, hide_no_ssh_key: false, website_url: "", notification_email: "admin@example.com", hide_no_password: false, password_automatically_set: false, location: nil, encrypted_otp_secret: nil, encrypted_otp_secret_iv: nil, encrypted_otp_secret_salt: nil, otp_required_for_login: false, otp_backup_codes: nil, public_email: "", dashboard: 0, project_view: 0, consumed_timestep: nil, layout: 0, hide_project_limit: false, unlock_token: nil, otp_grace_period_started_at: nil, ldap_email: false, external: false> irb(main):012:0> user.password = 'admincom' => "admincom" irb(main):013:0> user.save! => true irb(main):014:0>
2017年01月12日
5,948 阅读
0 评论
0 点赞
2016-12-31
jenkins+gitlab+docker快速部署发布回滚示例
本章简单介绍docker+jenkins+gitlab发布和回滚,相比较上一篇中git+jenkins http://www.linuxea.com/1537.html来说,加入了docker,加入docker后,发布和回滚变得将是很简单,容器本身一次构建后,存放在docker仓库中,回滚只需要拉取仓库的镜像后直接run起来即可,回滚也是如此,而且他的备份可以直接打包成tar.gz压缩包,解压到其他机器,部署docker应用后,即可恢复。一,本地仓库下载1.1,参考本站中docker本地仓库搭建,链接:Docker本地仓库简单使用1.2,安装docker run -d -p 5000:5000 registry这时候可以看到运行了两个容器[root@linuxea-com ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ebe95cb71671 registry "/entrypoint.sh /etc/" 2 minutes ago Up 2 minutes 0.0.0.0:5000->5000/tcp tender_wright ca797ad15342 centos "bash" 20 hours ago Up 20 hours test [root@linuxea-com ~]# 二,构建一个docker的nginx镜像首先,构建一个nginx基础镜像, 只需要将日志放出来即可。当构建完成后,在编写一个Dockerfile,在本地通过git pull拉取代码到,COPY将本地代码复制到容器中后,build镜像并且push到本地仓库,此时。便可以使用远端docker pull拉取。其中每次构建会拿git reflog中的版本好做标记,回滚也是需要用上标记的版本号。如下图:docker基础镜像Dockfile和代码构建的Dockfile,在github上存储,直接可以拿来使用#!/bin/bash ######################################################################### # File Name: jc.sh:wq # Author: www.linuxea.com # Email: usertzc@gmail.com # Version: # Created Time: 2016年12月31日 星期六 16时15分16秒 ######################################################################### wwwp=/wwwroot/docker mkdir -p $wwwp curl -Lks4 https://raw.githubusercontent.com/LinuxEA-Mark/jenkins_gitlab/master/Dockerfile -o $wwwp/Dockerfile cd $wwwp && docker build -t nginx . && rm -rf Dockerfile culr -Lks4 https://raw.githubusercontent.com/LinuxEA-Mark/jenkins_gitlab/master/jenkins/Dockerfile -o $wwwp/Dockerfile我们下载一个脚本[root@linuxea-com ~]# curl -Lks4 https://raw.githubusercontent.com/LinuxEA-Mark/jenkins_gitlab_Docker/master/docker_fabu.sh -o /wwwroot/docker/docker_fabu.sh [root@linuxea-com ~]# chmod +x /wwwroot/docker/docker_fabu.sh [root@linuxea-com ~]# chown jenkins.jenkins /wwwroot/docker/docker_fabu.sh脚本最终是由jenkins运行,需要在visudo中注释掉Defaults requiretty,添加jenkins的命令权限,如下:[root@linuxea-com ~]# sed -i '/requiretty /s/^/#&/' /etc/visudoer [root@linuxea-com ~]# echo jenkins ALL = (root)NOPASSWD:/usr/bin/docker,(root)NOPASSWD:/usr/local/bin/docker-compose,(root)NOPASSWD:/bin/rm,(root)NOPASSWD:/bin/cp,(ALL)NOPASSWD:/usr/bin/git >> /etc/visudoer在wwwroot目录下,克隆一次代码[root@linuxea-com /wwwroot]# git clone git@10.0.1.61:root/docker_test.git 正克隆到 'docker_test'... remote: Counting objects: 6, done. remote: Compressing objects: 100% (3/3), done. remote: Total 6 (delta 0), reused 0 (delta 0) 接收对象中: 100% (6/6), done.三,jenkins构建和之前的几乎一样,创建自由风格,细节可参考git+jenkins发布和回滚示例 将jenkins和gitlab关联!这里指向脚本存放位置可以参考上一篇文章中的步骤,本章只是换了docker,加了docker仓库,其他没变:git+jenkins发布和回滚示例
2016年12月31日
11,860 阅读
0 评论
0 点赞
2016-12-30
git+jenkins发布和回滚示例
1, install gitlab[root@linuxea-com ]# yum install curl policycoreutils openssh-server openssh-clients [root@linuxea-com ]# systemctl enable sshd [root@linuxea-com ]# systemctl start sshd [root@linuxea-com ]# yum install postfix [root@linuxea-com ]# systemctl enable postfix [root@linuxea-com ]# systemctl start postfix [root@linuxea-com ]# systemctl mask firewalld [root@linuxea-com ]# systemctl stop firewalld [root@linuxea-com ]# yum install epel* -y [root@linuxea-com ]# yum -y install iptables-devel iptables-services iptables vim wget bash-completion-extras.noarch [root@linuxea-com ]# systemctl enable iptables [root@linuxea-com ]# systemctl start iptables [root@linuxea-com ]# iptables -F [root@linuxea-com ]# curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh |bash [root@linuxea-com ]# yum install gitlab-ce-8.15.1-ce.0.el7.x86_64 或者直接下载 [root@linuxea-com ]# axel -n 30 https://packages.gitlab.com/gitlab/gitlab-ce/packages/ol/7/gitlab-ce-8.15.1-ce.0.el7.x86_64.rpm [root@linuxea-com ]# gitlab-ctl reconfigure 修改external_url [root@linuxea-com ]# vim /etc/gitlab/gitlab.rb external_url 'http://10.10.239.222' 登陆账户 root 5iveL!fe其他文章推荐如下:官网安装:http://www.linuxea.com/1407.html国内源安装:http://www.fblinux.com/?p=6622, install jenkins[root@linuxea-com ]# curl -Lks4 http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo -o /etc/yum.repos.d/jenkins.repo [root@linuxea-com ]# rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key [root@linuxea-com ]# yum install jenkinsjenkins安装部署文章推荐:http://www.fblinux.com/?p=7053,配置我这里的git和jenkins分离开的,当gitlab和jenkins分别安装配置完成后,开始做一些简单的部署测试。我这里使用ansible的synchronize来进行推送,我们先在jenkins上安装ansible,可以参考第二步中西门飞雪博客的文章,这里关键提到的是推送代码和回滚3.1 安装ansible配置hosts[root@linuxea-com /var/lib/jenkins]# yum install ansible -y配置hosts,最终脚本以jenkins用户执行,这里需要指定ansible_ssh_user=root[root@linuxea-com /var/lib/jenkins]# cat /etc/ansible/hosts [php] 10.57.57.57 ansible_ssh_user=root3.2 配置jenkins在jenkins中配置一个自由风格的项目,配置好源码管理git在参数化构建过程选项卡中,设置如下:在构建的Execute shell的command中,写入如下:如果reset默认值为default(参数化构建过程 设置,如上图),也就是传入参数为空,则会执行脚本触发更新和发布,如果传入latest则运行git reset --hard HEAD^回退一个版本后进行发布,如果传入的不是latest,也不为空,则会进行git reset --hard进行固定版本好回退ff.sh脚本如下#!/bin/bash ######################################################################### # File Name: ff.sh # Author: mark # Email: usertzc@gmail.com # Version: # Created Time: 2016年12月27日 星期二 19时20分10秒 ######################################################################### wwwgit=/var/lib/jenkins/jenkins/ wwwroot=/data/wwwroot if [ $# == 1 ];then banbenhao=`echo $1` cd $wwwgit if [ $banbenhao == 'latest' ];then git reset --hard HEAD^ else git reset --hard $banbenhao fi ansible php -m synchronize -a "src=${wwwgit} dest=${wwwroot} rsync_opts=--delete" ansible php -a "chown -R www.www ${wwwroot}" else cd ${wwwgit} && git pull ansible php -m synchronize -a "src=${wwwgit} dest=${wwwroot} rsync_opts=--delete" ansible php -a "chown -R www.www ${wwwroot}" fi
2016年12月30日
18,181 阅读
2 评论
0 点赞
2016-08-29
gitlab文章内目录超链接
在gitlab中,目录的链接形式如果有空格,逗号冒号之类的将会被转义,如果用通常的办法是无法做文章内超链接的,如下图即可将url链接复制添加即可最终如下图:
2016年08月29日
4,564 阅读
0 评论
0 点赞
1
2