gitlab

k8s的持续集成(jenkins+gitlab+k8s)

岁酱吖の 提交于 2020-03-09 18:28:40
应用场景: 问题 项目分为app和后台两种,为了保证再同一个环境下面测试,所以不可能链接开发本地服务进行测试,所以需要搭建一个测试环境,供app进行开发测试。这个时候就有一个问题,如果开发新增加功能或者app调试的时候发现问题,这个时候就需要提交新的代码或者修复bug,然后重新发布到测试环境中去。但是后台人员又不能进入Linux服务器中,只能通过Linux运维人员来重新部署,这样的效率就会极低。 方案: 基于这种模式下面的,我们引入了Jenkins工具,通过Jenkins来拉取svn/git代码到服务器中,再Jenkins中编写Linux运行脚本,通过脚本我们就可以对代码进行编译运行,然后重新发布到服务器中运行。后端人员也不需要通知Linux运维人员来执行这个操作,直接再Jenkins的控制台就可以执行了。 实验环境 IP 主机名称 服务 192.168.1.21 master k8s 192.168.1.22 node01 k8s 192.168.1.10 git gitlab 192.168.1.13 jenkins jenkins 总体流程: 在开发机开发代码后提交到gitlab 之后通过webhook插件触发jenkins进行构建,jenkins将代码打成docker镜像,push到docker-registry 之后将在k8s-master上执行rc、service的创建

【解决方案】阿里云服务器gitlab邮箱配置OpenTimeout: execution expired

走远了吗. 提交于 2020-03-08 16:40:45
一、问题原因: 阿里云服务器默认是屏蔽25端口的。改用163邮箱的465端口即可。 二、解决办法: gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_tls'] = true 来源: CSDN 作者: 明天争取 链接: https://blog.csdn.net/zpwangshisuifeng/article/details/104732209

Jenkins+Gitlab针对kubernetes集群实现可持续集成

与世无争的帅哥 提交于 2020-03-07 22:12:45
关于如何使用Jenkins+Gitlab实现可CI/CD,在此就不多做介绍了,本篇博文主要介绍Jenkins+Gitlab针对kubernetes集群实现CI/CD。由于Kubernetes近年来的火爆程度,掌握这项技能已经变得尤为重要! 一、环境准备 系统 主机名 IP地址 所运行的服务 Centos 7 master 192.168.1.1 K8s集群的master节点 Centos 7 node01 192.168.1.2 K8s集群的node节点 Centos 7 docker 192.168.1.4 Docker K8s集群主要用于运行一个Nginx运行容器,模拟线上环境; master节点主要用于运行registry私有仓库; docker服务器运行Jenkins与Gitlab服务; 上述三台服务器全部加入registry私有仓库; 部署环境所需任何软件包,都可从以下链接中获取! 链接: https://pan.baidu.com/s/1pb4ZShK5MBxIj6xN-hMmoA 提取码:k66s 二、部署registry私有仓库 其实registry私有仓库在任何一台机器上部署都可以,这里就直接在master节点上部署了! [root@master ~]# docker run -d --restart=always -p 5000:5000 registry:2

Linux下GitLab的安装及使用

旧时模样 提交于 2020-03-07 19:35:13
一、初始GitLab GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。 与Github类似,GitLab能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。 它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。 Git的家族成员 Git:是一种版本控制系统,是一个命令,是一种工具。 Gitlib:是用于实现Git功能的开发库。 Github:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放。 GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。 二、实验环境(rhel7.3版本) 1、selinux和firewalld状态为disabled 2、各主机信息如下: 主机 ip server1(git) 172.25.83.1 三、Gitlab常用命令 gitlab-ctl start #启动所有gitlab组件; gitlab-ctl stop #停止所有gitlab组件; gitlab-ctl restart

GitLab在centos7上安装和使用

无人久伴 提交于 2020-03-07 07:46:27
git的优点 git是分布式的,svn不是 git分布式本地就可以用,可以随便保存各种历史痕迹,不用担心污染服务器,连不上服务器也能提交代码、查看log。 GIT分支和SVN的分支不同 分支在SVN中实际上是版本库中的一份copy,而git一个仓库是一个快照,所以git 切换、合并分支等操作更快速。 git有一个强大的代码仓库管理系统 - gitlab 可以很方便的管理权限、代码review,创建、管理project GitLab介绍 GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。 功能:Gitlab 是一个提供代码托管、提交审核和问题跟踪的代码管理平台。对于软件工程质量管理非常重要。 版本:GitLab 分为社区版(CE) 和企业版(EE)。 配置:建议CPU2核, 内存2G 以上。 建议3G起 Gitlab的服务构成: Nginx:静态web服务器。 gitlab-shell:用于处理Git命令和修改authorized keys列表。(Ruby) gitlab-workhorse: 轻量级的反向代理服务器。(go) GitLab Workhorse是一个敏捷的反向代理。它会处理一些大的HTTP请求,比如文件上传、文件下载、Git push

Gitlab搭建-centOS 7

南笙酒味 提交于 2020-03-07 03:19:11
Gitlab搭建-centOS 7 说明 以前在公司自己搭建过, 这次记录下 熟悉一下相关流程 钻牛角尖, 就是想搭建一个自己的GitLab 有错误, 欢迎指出~ 下载 ​ 官网下载gitlab-ce-12.2.3 ​ 网盘下载gitlab-ce-12.2.3 密码:3lnb ​ 官网所有版本 准备工作 ​ gitlab安装准备工作 1. Install and configure the necessary dependencies(安装和配置前的必要工作) On CentOS 7 (and RedHat/Oracle/Scientific Linux 7), the commands below will also open HTTP, HTTPS and SSH access in the system firewall. ​ 在CentOS 7(或其它linux7), 下面的命令是为了打开HTTP, HTTPS 和 SSH 访问的防火墙 sudo yum install -y curl policycoreutils-python openssh-server sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-service=http sudo

网络自由革命者——代理

别说谁变了你拦得住时间么 提交于 2020-03-06 00:35:39
〇、起因 。 之前公司 VPN 不稳定,而且无法个性化设置哪些 IP 走代理,哪些不走,连上有些网站就访问不了,很不方便。后又因广新项目申请 VPN 流程太慢,项目成员不停增加,急需远程访问。想起之前了解过梯子原理,理论上,我们可以通过类似原理解决上述问题。后来就慢慢研究这一块,搭建了代理,发现还是蛮有用的,甚至可以本地连到各个环境去调试。 一、场景。 由于新冠疫情,很多公司远程办公。这就涉及一个问题:我需要在任何地点访问到公司内部网络资源,如数据库、gitlab、double微服务注册中心等。 二、原理。 所有代理的原理都如上图。 再举个简单的例子:你想买过年火车票,但票早被抢光了,怎么办?找黄牛啊,黄牛认识内部员工,能买得到,只不过要多付点“手续费”。 即你不能直接买票,但能通过黄牛买到票,黄牛就是【代理】。 远程办公场景如上图。【个人电脑】通过【代理】访问到【内网资源】。 所谓的梯子,亦是此原理。 三、特点。 1、优点。 2、缺点。 四、用途。 1、当公司 VPN 用,直接访问内网 svn 、数据库、WIKI、测试环境等。 2、特殊情况下可以远程调试测试环境、预生产环境,甚至生产环境,快速精准定位问题(当然,也会有一定风险性)。 五、内网穿透。 1、原理。 2、优点。 3、缺点。 六、相关软件及配置。 1、客户端 Proxifier 2、服务端 CCProxy sock5 3

Gitlab持续集成-(.gitlab-ci.yml)

心已入冬 提交于 2020-03-05 23:37:19
从7.12版本开始,GitLab CI使用YAML文件(.gitlab-ci.yml)来管理项目配置。该文件存放于项目仓库的根目录,它定义该项目如何构建。 stages stages 用来定义可以被job调用的stages。stages的规范允许有灵活的多级pipelines。stages中元素的顺序决定了对应job的执行顺序: 相同stage的job是并行执行的; 下一个stage的job在前一个stage的job成功完成后才开始执行; 如果.gitlab-ci.yml中没有定义stages,那么stages默认定义为build、test和deploy; 如果一个job没有指定stage,那么这个任务会分配到test stage。 variables variables 用来定义变量,全局变量作用于所有job,也可以在指定的job中定义变量(优先级高于全局变量) 如果在job中想禁用全局定义的变量,可通过 variables: {} 定义一个空的哈希值。 GitLab CI/CD内置变量 variables 变量值 CI_JOB_NAME 对应的job_name GIT_STRATEGY 指定git获取代码的方式(clone,fetch,none) jobs jobs 用来定义了一组作业,其中必须包含 script 语句。 job.stage(默认: test )

【Gitlab】集成自动化部署PHP代码

佐手、 提交于 2020-03-05 18:51:13
1、在Gitlab项目的Setting > Variables 里增加SSH_PASSWORD和SSH_USERNAME变量,分别保存服务器的登录用户名和密码;这两个变量在.gitlab-ci.yml里会用到 2、在.gitlab-ci.yml里增加以下配置,其中的serverName替换为服务器的域名或IP,deploytest为自己写的部署脚本;其他参数按需自定义 stages: - deploy-test deploy-test: stage: deploy-test script: - sshpass -p "$SSH_PASSWORD" ssh -o StrictHostKeyChecking=no -p 22 $SSH_USERNAME@serverName "cd /data/www/deploy_test; ./deploytest master quiet" environment: name: test when: manual tags: - chest only: - master 以上-o StrictHostKeyChecking=no是必须的,否则会出现ERROR: Job failed: exit code 1报错;细究以下发现是gitlab里的容器第一次ssh登录服务器会出现以下提示,因为没有响应而报错。 Are you sure you want

gitlab搭建

让人想犯罪 __ 提交于 2020-03-05 18:24:54
gitlab官网 https://about.gitlab.com/gitlab-com/ 官方安装文档 https://about.gitlab.com/installation/?version=ce#centos-7 (ce/ee) 要求服务器内存不少于2g 国外比较慢,所以我们用国内源 vim /etc/yum.repos.d/gitlab.repo//加入如下内容 [gitlab-ce] name=Gitlab CE Repository baseurl= https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1 yum install -y gitlab-ce gitlab-ctl reconfigure netstat -lnpt //查看监听端口 gitlab-ctl stop/restart/start/status 浏览器访问gitlab,输入ip即可 注意如果访问502,注意是否有端口冲突,最好启动gitlab前关闭所有之前搭建的服务 默认管理员root,无密码,它会让我们去定义一个密码 gitlab常用命令 https://www.cnyunwei.cc/archives/1204 gitlab备份 gitlab-rake gitlab