Jenkins+Ansible+Gitlab自动化部署三剑客
一、gitlab安装
环境:centos 7 x64
1、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2、禁用selinux
vim /etc/selinux/config # This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted 改为SELINUX=disabled,然后重启服务器,使用getenforce进行验证
3、安装环境依赖
yum install curl policycoreutils openssh-server openssh-clients postfix
4、下载仓库文件
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
5、启动邮件服务
systemctl start postfix
systemctl enable postfix
6、安装gitlab-ce
yum install -y gitlab-ce
7、配置ssl
mkdir /etc/gitlab/ssl
cd /etc/gitlab/ssl
openssl genrsa -out /etc/gitlab/ssl/gitlab.example.com.key
openssl req -new -key "gitlab.example.com.key" -out "gitlab.example.com.csr"
openssl x509 -req -days -in "gitlab.example.com.csr" -signkey "gitlab.example.com.key" -out "gitlab.example.com.crt"
openssl dhparam -out dhparams.pem
chmod *
8、配置gitlab.rb
vim /etc/gitlab/gitlab.rb external_url 'https://gitlab.example.com'
//external_url 'https://192.168.71.128'
nginx['redirect_http_to_https'] = true nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt" nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key" nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem" # Path to dhparams.pem, eg. /etc/gitlab/ssl/dhparams.pem gitlab-ctl reconfigure
9、配置nginx
server {
listen *:;
server_name gitlab.example.com;
//server_name 192.168.71.128;
rewrite ^(.*)$ https://$host$1 permanent;
server_tokens off; ## Don't show the nginx version number, a security best practice
10、运维工程师使用
a、新建项目

b、用户维护,创建regular用户

c、给项目分配用户及权限,分配dev用户和maintainer用户


11、开发组长使用
//克隆仓库
git -c http.sslverify=false clone https://192.168.71.128/root/test-repo.git
处理合并申请
12、开发人员使用
git -c http.sslverify=false clone https://192.168.71.128/root/test-repo.git
创建分支合并申请

二、ansible安装
1、环境准备(python3.6.5安装及virtualenvwrapper管理虚拟环境)
详见:https://www.cnblogs.com/hougang/p/11423083.html
2、pip安装
mkvirtualenv -p python3 env36
pip install ansible
3、git安装
root用户安装git
yum -y install git nss curl 切换到普通用户
su deploy
cd ~ git clone ansible(可以将github源导入码云,然后再clone码云上的ansible,不然下载会很慢或失败)
git clone https://github.com/ansible/ansible.git 进入env36环境
workon env36 安装ansible依赖包
pip install paramiko PyYAML jinja2 将ansible移动到虚环境目录下
mv ansible ~/.virtualenvs/env36.ansible/
cd ~/.virtualenvs/env36.ansible/ansible 切换分支
git checkout stable-2.5 安装
source ~/.virtualenvs/env36.ansible/ansible/hacking/env-setup -q 验证
ansible --version
3、ansible使用
ansible主机:192.168.71.132
ssh-keygen -t rsa
ssh-copy-id -i id_rsa.pub root@192.168.71.133
测试机:192.168.71.133
Jenkins+Ansible+Gitlab自动化部署三剑客的更多相关文章
- Jenkins+Ansible+Gitlab自动化部署三剑客-Ansible本地搭建
可以通过git bash连接linux 关闭防火墙,禁用防火墙开机启动,并更爱selinux文件,重启 重新登录并检查禁用 getenforce 安装git yum -y install git ns ...
- Jenkins+Ansible+Gitlab自动化部署三剑客-gitlab本地搭建
实际操作 准备linux初始环境 关闭防火墙 systemctl stop firewalld 开机自己关闭 systemctl disable firewalld 设置安全配置 为关闭 vim /e ...
- Jenkins+Ansible+Gitlab自动化部署三剑客-Jenkins本地搭建
后面需要shell基础,目前没有,等有了,再更
- Jenkins Ansible GitLab 自动化部署
Jenkins Ansible GitLab 自动化部署 DevOps https://www.cnblogs.com/yangjianbo/articles/10393765.html https: ...
- Jenkins+maven+gitlab自动化部署之基础环境部署(一)
从一个二线城市,来到上海,刚入职,老大就给任务,为了减少开发打包部署时间,需要搭建一套自动化部署环境.接到任务后,赶紧上网查找资料,以及了解jenkins作用等等,用了一周时间,了解了个大概,由于都是 ...
- Jenkins+maven+gitlab自动化部署之docker发布sprint boot项目(七)
Jenkins发布docker应用与发布java应用配置基本一致,需要配置Dockerfile及构建的步骤,步骤如下: 1.jenkins主机构建应用为jar包 2.jenkins主机把生产的jar包 ...
- Jenkins+maven+gitlab自动化部署之前端构建发布(六)
前端项目构建,需要在jenkins主机部署node服务,网上有说介绍说安装对应的nodejs插件进行前端项目构建,我这里是直接调用系统npm命令,进行前端打包.具体node部署参考:Centos7部署 ...
- Jenkins+maven+gitlab自动化部署之构建Java应用(五)
前面几篇文章介绍jenkins部署以及配置,接下来我们,就介绍下如何使用jenkins发布应用. 1)新建项目 jenkins首页,点击左上新建任务,出现下图,填写对应信息,然后点击确定: 2)项目参 ...
- Jenkins+maven+gitlab自动化部署之Jenkins部署(三)
本章开始正式搭建Jenkins: 公司现在使用的jenkins版本是2.150.3,但是本次实验安装的版本我们选择最新的 2.164.3(当然,当你阅读这篇文章时,此版本已经不是最新),jenkins ...
随机推荐
- php 常用正则运算
$regx = "/^[0-9]*$/"; var_dump(preg_match($regx, $phone)); 常用的正则运算: •验证数字:^[0-9]*$ •验证n位的数 ...
- 开源Asp.net CMS mojoPortal-源码运行
1.下载mojoPortal源码 下载地址:http://mojoportal.codeplex.com/SourceControl/latest 我下载的版本是:2.4.0.9 MSSQL 以下是m ...
- JS用正则替换特殊字符
'abcabce'.replace(/abc/g,'') "e" 'abcabce$E$'.replace(/$E$/g,'') "abcabce$E$" 'a ...
- Hive中遇到全角
今天在梳理银行SQL业务的时候出现了一个全角的问题:两个种代码 都可以 使用了UDF函数解决 package 广发; import org.apache.hadoop.hive.ql.exec.Des ...
- 2018多校第九场 HDU 6416 (DP+前缀和优化)
转自:https://blog.csdn.net/CatDsy/article/details/81876341 #include <bits/stdc++.h> using namesp ...
- DP(第一版)
序 任何一种具有递推或者递归形式的计算过程,都叫做动态规划 如果你一开始学的时候就不会DP,那么你在考试的时候就一定不会想到用动态规划! 需要进行掌握的内容 1)DP中的基本概念 2)状态 3)转移方 ...
- Pycharm下将py文件打包成exe文件
1. 在PyCharm下安装PyInstaller 1. 首先,打开自己要发布的工程 2. 点击底部的[Terminal]打开终端,中输入命令pip install pyinstaller后回车, ...
- windows下mysql 主库从库同步
今天先讲讲数据库的主从同步,两个好处: 一是读写分离可以用上.比如 写操作就写到主数据库,读就再从库读取 二是纯粹给数据库备份,以防硬盘彻底崩了 主从数据库操作准备: 两台电脑,都安装好mysql 5 ...
- OnUpdateError
DataSetProvider1.OnUpdateError void __fastcall TFrmItem::Query1UpdateError(TDataSet *ASender, EFDExc ...
- apache和tomcat有什么不同
前言 apache是web服务器,tomcat是应用(java)服务器,它只是一个servlet容器,可以认为是apache的扩展,但是可以独立于apache运行. 换句话说,apache是一辆卡车, ...