为什么要写这个? 在一个系统长大的过程中会经历不断重构升级来满足商业的需求,而一个严谨的商业系统需要高效.稳定.可扩展,有时候还不得不考虑成本的问题.我希望能找到比较完整的开源解决方案来解决持续集成.监控报警.以及扩容和高可用性的问题.是学习和探索的过程分享给大家,也欢迎同行的人交流. 先来一个三步曲,我们将完成通过GitLab CI 自动部署 net core web api 到Docker 容器的一个示例.这是第一步,通过此文您将了解如何将net core web api 运行在Docker…
本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解放生产力. 其实仅gitlab自己就可以实现代码的自动化部署,gitlab有自己的CI,甚至只用gitlab的webhook(新版本叫 Integrations )+ 服务器端shell脚本就可以实现自动化部署. 但我们为什么还要用jenkins呢, 1.提供一个可视化的操作界面,对部署结果一目了然…
功能说明: 当本地master分支执行push动作的时候,服务器端会自动执行master分支的pull操作(还可以执行一些自动化脚本) 原理: git hooks就是那些在git执行特定事件(如commit.push.receive等)后触发运行的脚本.gitlab的web hooks跟git hook类似.也是当项目发生提交代码.提交tag等动作会自动去调用url,这个url可以是更新代码.或者其他操作. 写一个最简单的Python web服务: #--*--coding:utf-8--*--…
相信很多程序员喜欢用 GitBook 来写电子书.教程或者博客,看了不少文章,貌似都缺少说明如何将 GitBook 部署到版本库,并自动在服务器上 build,然后将生成的静态网站部署到云服务器上. 所以,今天就记录下我是如何一步步将 GitBook 发布到自己的云服务器上的. 首先需要借助的工具有: GitBook GitLab GitLab Runner Nginx 云服务器 (如:阿里云服务器) Docker 域名 本地开发 很多教程都写过如何在本地初始化 GitBook 开始写文档.这里…
要做什么 假设你有一个博客,有一台网站服务器(或者很多台作负载均衡的服务器),当你的博客要升级时,你可能要在你自己的电脑上写好代码(可能包括本地调试好),然后提交到git(或svn),然后在每个服务器中checkout一份代码并重启服务器应用…… 这里要介绍的是一种直接在本地提交代码,即可自动完成服务器部署的方法. 怎么做 假设你有网站主机(后面统称线上机): user:user host:1.2.3.4 password:passwd 并且确保你的本地开发机器(后面统称开发机)与线上机均已安装…
Jenkins是什么? 基于JAVA的开源的自动化系统平台 加速自动化CI,CD任务及流水线,所有类型的任务:构建,测试,部署等 丰富的插件生态系统支持功能扩展,1400+插件和SCM,测试,通知,报告,Artfact,触发,外部集成等 基于Web的管理和使用界面 源于Hudson 官网文档:https://jenkins.io/doc/ Jenkins系统架构图 用docker环境部署Jenkins 一,安装docker-ce版本 1.1 删除之前版本的Docker sudo yum remo…
2018-9-26 14:00:39 星期三 场景: 由于某种情况, 不能使用Jenkins, so......只有自己实现了 看图: webUI 设计方案, - 文件夹A, 用来存放git分支- 文件夹B, 运行网站的代码目录- 文件夹C, 部署用的脚本目录, C里边的脚本用来把A里边的代码更新同步到B里边- 入口1 gitlab, 添加push hook, hook中指定的url可以执行C中的代码- 入口2 Linux命令行, 执行C中的脚本进行部署 - 入口3 网页, 在页面中点击按钮进行…
功能简介 本地往服务器推送代码之后,触发web钩子,服务器拉取刚刚推送的代码 步骤 1.在gitlab后台配置钩子 项目->编辑项目->Web钩子->新增钩子 2.在服务器端为www用户生成公钥 生成公钥 ssh-keygen -t rsa -C "登录gitlab的邮箱" 查看公钥 cat ~/.ssh/id_rsa.pub 复制公钥,前往gitlab的项目设置,将公钥添加进去 3.在服务器端首先使用git pull将项目拉取一遍 使用git pull先将代码拉取下…
Gitlab+Jenkins实现自动部署   系统环境: Gitlab主机 IP:192.168.1.2 Jenkins主机 IP:192.168.1.3 一.为何要做自动部署 #部署Tomcat的在这里:http://blog.51cto.com/bigboss/2155423 二.配置Gitlab #首先,你得有一个代码仓库,赶紧到gitlab上创建一个,然后创建个分支并创建一个文件. #其次,你得配置一个ssh公钥到gitlab上,这样才能模拟开发上传代码到gitlab. #至于ssh公钥…
一.概述 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/11434849.html 已经实现了 Jenkins+harbor+gitlab+k8s 自动部署功能,但是最终发布的时候,是手动的. 现在需要实现每次GitLab上有提交事件的时候,都能触发Jenkins执行相应的操作,比如:构建并自动部署. 二.Jenkins配置 安装Gitlab Hook插件 登录后台,点击 Manage Jenkins --> Manage Plugin…