autoDevops,CI,CD
docker安装gitlab-runner-ci构建项目时缓存使用方法一,环境说明。 1,docker中安装gitlab-runner。 2,gitab仓库中添加的项目中配置ci/cd流水线后,gitlab-runner会新建容器来构建部署项目。 3,gitlab-runner,如果不使用缓存,那么构建项目时速度比较慢。因为每次使用容器构建时,都要重新下载相关依赖。二,gitlab-runner在容器中使用缓存的项目中.gitlab-ci.yml配置具体内容。 1,具体内容如下:image: node:14masterbuild:    tags:    - cicdrunner    stage: build    cache:      key: same-key      paths:        - node_modules/    script:      - npm install --registry=https://registry.npm.taobao.org      - npm run build    only:      - master &nbs...
ansible-playbook 执行剧本时的sudo-su使用方法 1,由于服务器基本上不能使用root登陆,只能使用普通账号, 使用sudo来管理系统,所以有些操作需要提取执行。 2,下面来个简单演示ansible-playbook执行sudo权限操作方法。 以下是YAML内容:- name: 启动rs组的所有主机的nginx服务。 hosts: rs user: elk tasks: - name: 启动nginx命令. become: yes become_method: sudo service: name: nginx state: started 3,从上面YAML文件内容可以看出来,这里是采用单个任务中sudo提取方法。 上面的切换主要使用的是become语句,其参数主要解释如下: become:        yes #是否允许身份切换 become_method: sudo#切换用户身份的方式,有sudo、su、pbrun等方式,默认为sudo become_user: root #切换指定的用户 当然,如果你采用了sudo方法,可能需要使用visudo命令修改成无需提供密码方法, 并且上面的示例中 用户 elk,也要有sudo相关权限,比如Centos,RHEL加入wheel组。 4,become语句的使用,可以是在全局位置(见下面示例)。- name: 启动rs组的所有主机的nginx服务...
K8s+docker +GitLab-ci/cd持续集成与交付   一、部署流程 开发人员把项目代码通过git推送到gitlab,触发gitla-runner自动从拉取gitlab上面拉取代码下来,然后进行build,编译、生成镜像、然后把镜像推送到Harbor仓库;然后在部署的时候通过k8s拉取Harbor上面的代码进行创建容器和服务,最终发布完成,然后可以用外部访问 部署流程如下: 环境准备: IP 角色 172.25.0.30 master 172.25.0.31 node1、Gitlab 172.25.0.32 node2、Harbor、gitlab-runner   二、K8s 安装 1. 安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件:...
docker安装jenkins_slave节点并通过docker构建项目   docker安装jenkins-jnlp-slave并在从节点使用docker构建项目   一,环境说明。 1,jenkins-master主构建节点,系统:centos7,IP: 192.168.1.20 ,Jenkins安装到docker容器中,实现master节点会新增容器中构建项目,完成后,会自行删除构建的容器。 具体方法看:docker安装jenkins使用npm容器构建Node.js+实现cicd部署-虚拟化云计算,DBA,系统安全,路由交换。 (micoder.cc) 2,Jenkins-slave从构建节点,系统:centos7,IP: 192.168.1.41 , jnlp-slave安装到docker容器中,并实现构建项目时,在从节点会新增容器中构建项目,完成后,会自行删除构建的容器。 二,从节点容器创建。 1,流程图,实现主从节点与项目工程构建环境全是docker中运行。 2,jenkins-master中配置slave从节点相关信息。 具体信息如下: 1,名称: jnlp-slave,这个可以随意填写,后面会用来。 2,远程工作目录,需要设置一个,这里填写: /var/jenkins_home。 3,标签,这里填写: slave,那么在pipeline中,添加此标签,即可实现在从节点中构建工程。   ...
html {overflow-x: initial !important;}:root { --bg-color:#ffffff; --text-color:#333333; --select-text-bg-color:#B5D6FC; --select-text-font-color:auto; --monospace:"Lucida Console",Consolas,"Courier",monospace; --title-bar-height:20px; } .mac-os-11 { --title-bar-height:28px; } html { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; } body { margin: 0px; padding: 0px; height: auto; inset: 0px; font-size: 1rem; line-height: 1.42857; overflow-x: hidden; background: inherit; tab-size: 4; } iframe { margin: auto; } a.url { word-break: break-all; } a:active, a:hover { outline: 0px; } .in-text-selection, ::selection { text-shadow: none; background: var(--select-text-bg-color); color: var(--select-text-font-color); } #write { margin: 0px auto; height: auto; width: inherit; word-break: normal; overflow-wrap: break-word; position: relative; white-space: normal; o...
ansible-playbook 执行剧本时的sudo-su使用方法1,由于服务器基本上不能使用root登陆,只能使用普通账号,使用sudo来管理系统,所以有些操作需要提取执行。2,下面来个简单演示ansible-playbook执行sudo权限操作方法。以下是YAML内容:```yaml- name:  启动rs组的所有主机的nginx服务。  hosts: rs  user: elk    tasks:   - name: 启动nginx命令.    become: yes    become_method: sudo    service:      name: nginx       state: started ```3,从上面YAML文件内容可以看出来,这里是采用单个任务中sudo提取方法。上面的切换主要使用的是become语句,其参数主要解释如下:become:        yes #是否允许身份切换become_method: sudo#切换用户身份的方式,有sudo、su、pbrun等方式,默认为sudobecome_user: root   #切换指定的用户当然,如果你采用了sudo方法,可能需要使用visudo命令修改成无需提供密码方法,并且上面的示例中 用户 elk,也要有sudo相关权限,比如Centos,RHEL加入wheel组。4,become语句的使用,可以...
Kubernetes 上安装 Gitlab CI Runner Gitlab CI 基本概念以及 Runner 的安装 上节课我们使用 Helm 快速的将 Gitlab 安装到了我们的 Kubernetes 集群中, 这节课来和大家介绍如何使用 Gitlab CI 来做持续集成,首先先给大家介绍一些关于 Gitlab CI 的一些基本概念,以及如何在 Kubernetes 上安装 Gitlab CI Runner。 简介 从 Gitlab 8.0 开始,Gitlab CI 就已经集成在 Gitlab 中,我们只要在项目中添加一个.gitlab-ci.yml文件,然后添加一个Runner,即可进行持续集成。 在介绍 Gitlab CI 之前,我们先看看一些 Gitlab CI 的一些相关概念。 Pipeline 一次 Pipeline 其实相当于一次构建任务,里面可以包含很多个流程,如安装依赖、运行测试、编译、部署测试服务器、部署生产服务器等流程。 任何提交或者 Merge Request 的合并都可以触发 Pipeline 构建,如下图所示:+------------------+ +----------------+ | | trigger | | | Commit / MR +---------->+ Pipeline | | | | | +------------------+ ...
基于 kubernetes 的动态 jenkins slave 基于 Jenkins 的 CI/CD(一) 前面的课程中我们学习了持久化数据存储在Kubernetes中的使用方法,其实接下来按照我们的课程进度来说应该是讲解服务发现这一部分的内容的, 但是最近有很多同学要求我先讲解下 CI/CD 这块的内容,所以我们先把这块内容提前来讲解了。提到基于Kubernete的CI/CD, 可以使用的工具有很多,比如Jenkins、Gitlab CI已经新兴的drone之类的,我们这里会使用大家最为熟悉的Jenkins来做CI/CD的工具。 安装 听我们课程的大部分同学应该都或多或少的听说过Jenkins,我们这里就不再去详细讲述什么是 Jenkins 了,直接进入正题, 后面我们会单独的关于 Jenkins 的学习课程,想更加深入学习的同学也可以关注下。 既然要基于Kubernetes来做CI/CD,当然我们这里需要将 Jenkins 安装到 Kubernetes 集群当中,新建一个 Deployment:(jenkins2.yaml)--- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: jenkins2 namespac...
Jenkins Blue Ocean 的使用 基于 Jenkins 的 CI/CD(三) 上节课我们讲解了使用Jenkins Pipeline来自动化部署一个Kubernetes应用的方法,在实际的项目中,往往一个代码仓库都会有很多分支的,比如开发、测试、线上这些分支都是分开的,一般情况下开发或者测试的分支我们希望提交代码后就直接进行CI/CD 操作,而线上的话最好增加一个人工干预的步骤,这就需要Jenkins对代码仓库有多分支的支持,当然这个特性是被Jenkins支持的。 Jenkinsfile 同样的,我们可以使用上节课的方法直接把要构建的脚本配置在 Jenkins Web UI 界面中就可以,但是我们也提到过最佳的方式是将脚本写入一个名为 Jenkinsfile 的文件中,跟随代码库进行统一的管理。 我们这里在之前的 git 库中新建一个 dev 分支,然后更改 main.go 的代码,打印当前运行的代码分支,通过环境变量注入进去,所以我们我们通过 k8s.yaml 文件的环境变量把当前代码分支注入进去,具体代码可以参考https://github.com/cnych/jenkins-demo/tree/dev。 然后新建一个 Jenkinsfile 文件,将上节课的构建脚本拷贝进来,但是我们需要对其做一些修改:(Jenkinsfile)node('haimaxy-jnlp') {   ...
Jenkins Pipeline 部署 Kubernetes 应用(二) 基于 Jenkins 的 CI/CD上节课我们实现了在Kubernetes环境中动态生成Jenkins Slave 的方法,这节课我们来给大家讲解下如何在 Jenkins 中来部署一个 Kubernetes 应用。 Jenkins Pipeline 介绍 要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的 Pipeline 这种方式。Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。 Jenkins Pipeline 有几个核心概念: Node:节点,一个 Node 就是一个 Jenkins 节点,Master 或者 Agent,是执行 Step 的具体运行环境,比如我们之前动态运行的 Jenkins Slave 就是一个 Node 节点 Stage:阶段,一个 Pipeline 可以划分为若干个 Stage,每个 Stage 代表一组操作,比如:Build、Test、Deploy,Stage 是一个逻辑分组的概念,可以跨多个 Node Step:步骤,Step 是最基本的操作单元,可以是打印一句话,也可以是构建一个 Docker 镜像,由各类 Jenkin...
    总共66页,当前第4页 | 页数:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14