Jenkins 基础篇 - Server 配置
我们使用 Jenkins 部署服务之前要先配置我们的目标服务器,配置目标服务器也很简单,就是将服务器的 IP、账号密码或者账号密钥配置在 Jenkins中。在演示服务器配置之前我们要先知道 Linux 系统中的用户和用户组,最主要的要知道怎么创建用户。
下面我们将介绍如何在 Linux 系统中创建用户,以及如何将用户添加到组,我们还将展示如何从组中删除用户以及如何创建,删除和列出组。要向一个群组添加用户,我们要以具有 sudo 访问权限或 root 用户身份登录。Linux 组是组织单位,用于组织和管理 Linux 中的用户帐户。组的主要目的是定义一组特权,例如对给定资源的读取,写入或执行权限,这些特权可以在组内的用户之间共享。
Linux 操作系统中有两种类型的组:主要组——用户创建文件时,文件的组将设置为用户的主要组。通常,组的名称与用户的名称相同。有关用户的主要组的信息存储在 /etc/passwd
文件中。次要或补充组——在希望向某个用户授予某些文件权限时很有用属于该组成员的一组用户。例如,如果将特定用户添加到 docker 组,则该用户将继承该组的访问权限,并且将能够运行 docker 命令。每个用户可以完全属于一个主要组,零个或多个次要组。
涉及到的命令如下:
# 将用户附加到某个组
$ sudo usermod -a -G groupname username
# 将用户添加到新组时,尽量始终使用 -a(附加)开关。
# 如果省略 -a 开关,则该用户将从 -G 开关之后未列出的任何组中删除。
# 将用户添加到多个组,组名以英文逗号分割
$ sudo usermod -a -G groupname1,groupname2 username
# 将用户从某个组中删除
$ sudo gpasswd -d username groupname
# 创建新的组
$ sudo groupadd groupname
# 删除现有的组
$ sudo groupdel groupname
# 更改用户的主要组
$ sudo usermod -g groupname username
# 创建用户时同时分配到组
# 创建一个名为tony的新用户,主要组为users,辅助组为wheel和docker
$ sudo useradd -g users -G wheel,docker tony
# 设置用户登录密码,根据提示两次输入密码
$ sudo passwd username
# 查看用户组相关信息,如果不加用户名则显示当前用户的信息
$ id username
# 或者
$ groups username
我这里在自己分服务器上创建了一个 maintainer 运维用户,同时把这个用户添加到 docker 组和 wheel 组,同时我还将该用户设置成可以采用密钥的方式登录。涉及到的操作命令如下:
# 创建用户并加入到组
$ sudo useradd -g users -G wheel,docker maintainer
# 设置登录密码
$ sudo passwd maintainer
# 以maintainer用户登录后创建登录密钥
# 以下命令执行后会有交互输入内容,或者一直敲回车键默认即可
$ ssh-keygen -t rsa -b 2048 -v
如果你想用同一个密钥文件登录不同的服务器,则需要将公钥文件复制到其他服务器的用户目录的 .ssh 目录中,操作命令如下:
# 前提是确保其他服务器上要先存在该用户
$ ssh-copy-id -i maintainer.pub maintainer@192.168.31.111
服务器上的用户设置好后就去到 Jenkins 的【系统管理】→ 【系统设置】里面的最下面的【SSH Servers】设置选项处。
点击【新增】,添加服务器配置,填好对应信息:
在【高级】设置里面,勾选上【Use password authentication, or use a different key】,设置我们的登录密码:
其他设置默认即可,点击【Test Configuration】测试以下是否正常,提示 Success 表示成功。
我们设置一台以密钥方式登录的服务器,在【SSH Servers】上面的【Publish over SSH】处配置我们统一的密钥,当然每台服务器可以用不同的密钥,我这里为了方便统一管理,使用相同一个密钥。这里Key的内容就是前面创建密钥的密钥:
/home/maintainer/.ssh/maintainer
文件的内容。
继续【新增】一个以密钥登录的服务器配置,这里只设置服务器的名称、IP 和用户名就行了,测试一下,密钥登录方式也是正常的。
Jenkins 基础篇 - Server 配置的更多相关文章
- Jenkins 基础篇-凭证配置
我们在正式开始使用 Jenkins 之前还要先配置一些凭证,这些凭证的作用主要是用于认证,例如我们要从代码仓库拉取代码,就需要用到代码仓库的账号密码或者密钥:我们要登录远程服务器也需要用户名密码或者密 ...
- Jenkins: 基础篇(环境配置)
自动化领域比较有影响力的开源框架jenkins,确实比较强大,易用.很多公司将其用来做持续即成CI(continuous integration).为了拓展和强化自己的软件设计生态系统,也将很久前使用 ...
- Jenkins 基础篇 - 插件安装
这一小节主要介绍 Jenkins 插件的安装,登录到 Jenkins 后,依次进入到[系统管理]→ [插件管理]→ [可选插件],在这里可以看到所有的 Jenkins 插件,如下图: 我们在最开始安装 ...
- Jenkins 基础篇 - 任务创建
前面了解了 Jenkins 上各种任务的区别后,我们就来实践应用下,先创建一个[文件夹]类型的任务,将我们目前的一些基础的演示任务[移动]到文件夹里面去,这样可以先做个简单的分类. 新建一个[文件夹] ...
- Jenkins 基础篇 - 小试牛刀
现在我们来创建一个简单的 Jenkins 任务,这个任务输出 Java 版本信息和系统信息,通过这个任务我们先了解创建 Jenkins 任务的流程,以及了解一些对任务的基础设置,接下来就是演示任务的整 ...
- Jenkins 基础篇 - 环境准备
前期准备 为了开发这套课程,我专门购买了一台二手戴尔服务器 Dell R720,同时把废弃多年的笔记本电脑也利用了起来.当然如果自己没有多余的电脑,也可以在自己电脑上安装 Vmware Worksta ...
- Jenkins 基础篇 - 安装部署
Jenkins 安装 Jenkins 支持主流的 Linux 发行版系统,同时还支持 macOS.Windows.和 Docker 运行. 具体系统的 Jenkins 安装包可以去官网下载 https ...
- Jenkins 基础篇 - 基础设置
站点设置 刚搭建好 Jenkins 环境,你还需要做一些简单设置,让我们的 Jenkins 看起来是这么一回事,特别是你要用于生产环境的时候.首先就是域名配置,如果你为 Jenkins 服务分配了一个 ...
- Jenkins 基础篇 - 任务分类
从前面的小节中我们看到在创建 Jenkins 任务的时候有好几种类型,如果你专门安装了 Maven 相关插件,可能还会有一个[构建一个 maven 项目]的任务类型,那这些任务类型究竟有何区别,以及我 ...
随机推荐
- 开源框架TLog核心原理架构解析
前言 最近在做TLog 1.2.5版本的迭代,许多小伙伴之前也表示说很想参与开源项目的贡献.为了让项目更好更快速的迭代新特性以及本着发扬开源精神互相学习交流,很有幸招募到了很多小伙伴与我一起前行. 为 ...
- 如何在Google Web Toolkit环境下Getshell
出品|MS08067实验室(www.ms08067.com) 本文作者:大盗贼卡卡 Google Web Toolkit简称(GWT),是一款开源Java软件开发框架.今天这篇文章会介绍如何在这样的环 ...
- [矩阵乘法]裴波拉契数列III
[ 矩 阵 乘 法 ] 裴 波 拉 契 数 列 I I I [矩阵乘法]裴波拉契数列III [矩阵乘法]裴波拉契数列III Description 求数列f[n]=f[n-1]+f[n-2]+1的第N ...
- BUAA_2021_SE_Pair_Work_#3_Review
结对项目第三阶段博客 项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 结对项目-第三阶段 我在这个课程的目标是 通过课程学习,完成第一个可以称之为 ...
- leetcode 刷题(数组篇)152题 乘积最大子数组 (动态规划)
题目描述 给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积. 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子 ...
- Android平台OpenGL ES/Assimp/OpenCV/GLM集成说明
Android平台OpenGL ES/Assimp/OpenCV/GLM集成说明 本文代码见: https://github.com/jiangxincode/OpenGLDemo 集成Assimp ...
- 【笔记】《Redis设计与实现》chapter2 简单动态字符串
------------恢复内容开始------------ 2.1 SDS的定义 struct sdshdr{ // 记录buf数组中已使用字节的数量 // 等于SDS所保存字符串的长度(不含'\0 ...
- ElasticSearch-02-elasticsearch.yaml
# ======================== Elasticsearch Configuration ========================= # # NOTE: Elasticse ...
- commons-pool2 池化技术探究
一.前言 我们经常会接触各种池化的技术或者概念,包括对象池.连接池.线程池等,池化技术最大的好处就是实现对象的重复利用,尤其是创建和使用大对象或者宝贵资源(HTTP连接对象,MySQL连接对象)等方面 ...
- 脱壳——修复加密IAT
脱壳--修复加密IAT 对两个练手程序进行脱壳修复加密IAT(其实是一个程序,只是用了几种不同的加壳方式) 第一个程序 Aspack.exe 下载链接:https://download.csdn.ne ...