debian服务器上搭建git服务及添加文件提交拉取的操作记录、在Ubuntu上搭建Jenkins服务以及Ubuntu中的PPA源及PPA的安装使用

news2024/11/16 5:51:03

一、debian服务器上搭建git服务及添加文件提交拉取的操作记录

    需要新建一个代码仓库,准备找台业务量不大的服务器上找个空间大的文件夹搭建一个。整个过程:
1,在服务器端安装git服务,新建git用户并设置密码,创建仓库,设置git的服务目录及权限处理。
2,在另一台服务器上使用git拉取服务端的仓库,并新建文件,add并commit提交。
3,同样在2这台服务器上在新的文件夹中拉取代码仓库,并pull2中提交的变更。

#安装git,服务器上已经安装了2.11版
root@user19:~# apt-get install git
root@user19:~# git --version
git version 2.11.0
#查看有没有git用户,没有新建一个,为了传输使用
root@user19:~# id git
id: ‘git’: no such user
root@user19:~# useradd git
sent invalidate(passwd) request, exiting
sent invalidate(group) request, exiting
sent invalidate(passwd) request, exiting
sent invalidate(group) request, exiting
root@user19:~# id git
uid=3001(git) gid=3001(git) groups=3001(git)
#为git设置密码,后面git clone的时候会用到
root@user19:~# passwd git
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@user19:~#
#建立git服务目录,变更文件夹权限
root@user19:/data02# mkdir -p gitdata/test.kermit.cn
root@user19:/data02# cd gitdata/
root@user19:/data02/gitdata# mkdir test.kermit.cn
#创建仓库
root@user19:/data02/gitdata# git init --bare /data02/gitdata/test.kermit.cn
Initialized empty Git repository in /data02/gitdata/test.kermit.cn/
root@user19:/data02/gitdata# chown -R git:git test.kermit.cn

#在另一台服务器上安装git,新建一个目录执行命令:
tuser@n25:~/gittest$ git clone git@101.17.16.79:/data02/gitdata/test.kermit.cn
Cloning into 'test.kermit.cn'...
git@101.17.16.79's password:
Could not chdir to home directory /home/git: No such file or directory
warning: You appear to have cloned an empty repository.
tuser@n25:~/gittest$
tuser@n25:~/gittest$ cd test.kermit.cn
#建立一个文件c.txt,使用git add添加文件并使用commit提交
tuser@n25:~/gittest/test.kermit.cn$ vim c.txt
tuser@n25:~/gittest/test.kermit.cn$ git add c.txt
tuser@n25:~/gittest/test.kermit.cn$ git commit -m "add-c-txt" c.txt
[master (root-commit) 0215aca] add-c-txt
 Committer: tiger <tuser@n25.bed.org>
......
 create mode 100644 c.txt
tuser@n25:~/gittest/test.kermit.cn$ git log
commit 0215acaf523e8457e95606f5f39f09ee6fb3a9cd
Author: tiger <tuser@n25.bed.org>
Date:   Fri Nov 8 11:17:39 2019 +0800
    add-c-txt
#完成add,commit提交之后,再使用git push origin master合并到master
tuser@n25:~/gittest/test.kermit.cn$ git push origin master
git@101.17.16.79's password:
Could not chdir to home directory /home/git: No such file or directory
Counting objects: 3, done.
Writing objects: 100% (3/3), 210 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To 101.17.16.79:/data02/gitdata/test.kermit.cn
 * [new branch]      master -> master
tuser@n25:~/gittest/test.kermit.cn$

#此时在另外的客户端里面使用git pull即可拉取这边提交的代码内容
tuser@n25:~/git_pull/test.kermit.cn$ git pull
git@101.17.16.79's password:
Could not chdir to home directory /home/git: No such file or directory
tuser@n25:~/git_pull/test.kermit.cn$ ll
total 4
-rw-r--r-- 1 tiger tiger 9 Nov  8 11:25 c.txt
tuser@n25:~/git_pull/test.kermit.cn$

        关于git以下几个概念和逻辑图需要理解:Workspace:工作区/Index.Stage:暂存区/Repository:仓库区(或本地仓库)/Remote:远程仓库

 

ca21451e984b4ea7be8698946d069797.png

        从上图中能清楚看到使用add和commit提交的文件在另一台服务器上使用pull是拉取不到的,因为这时还没有进入remote远程仓库,而只有再使用了push操作后才能在另外一个中使用pull拉取到。checkout的内容是本地的Repository仓库区的内容,就相当于在与远程仓库中间搭建了一个临时仓库。本地修改可以完全与远程独立自成一个仓库系统。这点上比svn要丰富,当然也多了几步工作。

二、在Ubuntu上搭建Jenkins服务

    之前有篇在Centos上部署jenkins的文章:Centos服务器上搭建jenkins服务 及 Jenkins 构建时Cannot find module vue 错误的解决_jenkins 打包vue 找不到依赖-CSDN博客 今天记一篇在Ubuntu上搭建Jenkins服务的过程。jenkins官网地址:https://jenkins.io/zh/doc/ ubuntu安装jenkins后将会自动启动并进行进程守护,创建一个jenkins用户来运行此服务,整个安装配置启动处理记录如下:

#安装java环境
root@us12:~# apt-get install default-jre
root@us12:~# apt-get install default-jdk
root@us12:~# java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-8u232-b09-1~deb9u1-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
#安装jenkins
root@us12:~# wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | apt-key add - 
OK
root@us12:~# echo ‘deb http://pkg.jenkins.io/debian-stable binary/’ > /etc/apt/sources.list.d/jenkins.list
root@us12:/etc/apt# apt-get update
Get:10 http://pkg.jenkins.io/debian-stable binary/ Packages [16.0 kB]
Fetched 18.2 kB in 1s (12.3 kB/s)    
Reading package lists... Done
root@us12:/etc/apt# apt-get install jenkins
Get:1 http://mirrors.bed.org/debian stretch/main amd64 daemon amd64 0.6.4-1+b2 [96.0 kB]
Get:2 http://pkg.jenkins.io/debian-stable binary/ jenkins 2.190.3 [77.8 MB]
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  jenkins
0 upgraded, 1 newly installed, 0 to remove and 33 not upgraded.
Need to get 0 B/77.8 MB of archives.
After this operation, 78.3 MB of additional disk space will be used.
Selecting previously unselected package jenkins.
(Reading database ... 122541 files and directories currently installed.)
Preparing to unpack .../jenkins_2.190.3_all.deb ...
Unpacking jenkins (2.190.3) ...
Setting up jenkins (2.190.3) ...
Processing triggers for systemd (232-25+deb9u12) ...
#jenkins服务的启动管理等
root@us12:~# /etc/init.d/jenkins [start|restart|stop]
#jenkins的配置文件路径
root@us12:~# vim /etc/default/jenkins
#jenkins日志查看
root@us12:~# tail -f /var/log/jenkins/jenkins.log
#jenkins的工作目录
root@us12:~# ll /var/lib/jenkins

    其它:jenkins启动是以jenkins用户启动的,需要给这个用户赋予一些权限,比如将其添加到某些组中;另外可以使用nginx作代理实现以域名来访问jenkins服务。

    其它问题:离线 该Jenkins实例似乎已离线。原因:基本是服务器访问不了外网网络,未接入互联网时安装Jenkins的更多信息。可通过配置一个代理或跳过插件安装来选择继续。可访问地址已安装的服务器上的jenkins地址:http://ip:port/pluginManager/advanced 进行设置修改,包括尝试修改Update Site中的https为http后,重启Jenkins服务。

三、Ubuntu中的PPA源及PPA的安装使用

    ubuntu安装软件有一个好用的PPA方式:PPA是Personal Package Archives首字母简写。意为个人软件包文档,是Ubuntu操作系统独有的安装方式,PPA可以方便地体验到各软件的最新版、稳定版、开发版、测试版等。所有的PPA都存在launchpad.net网站上。Launchpad(启动器)是Canonical公司所架设的网站,是一个提供维护、支援或连络Ubuntu开发者的平台。

    PPA是一个区别于官方软件仓库的另一仓库,每个版本的Ubuntu都有自己的四个官方软件仓库,包括Main - Canonical 支持的自由开源软件、Universe - 社区维护的自由开源软件、Restricted - 设备的专有驱动程序、Multiverse - 受版权或法律问题限制的软件。但官方仓库没法做到快速更新软件版本,于是PPA就派上用场了。

    使用ppa之前首先是要安装python-software-properties提供的add-apt-repository工具,在Ubuntu Karmic中add-apt-repository命令可以直接添加ppa到当前的库中并且自动导入公钥。从而可以快速使用ppa源。 

#添加php源,提示需要安装-properties-common
root@us12:~# add-apt-repository ppa:ondrej/php
The program 'add-apt-repository' is currently not installed. You can install it by typing:
apt install software-properties-common
root@us12:~# apt install software-properties-common
Reading package lists... Done
#添加源
root@us12:~# add-apt-repository  ppa:ondrej/php 
#更新源
root@us12:~# apt-get update 
#安装nginx
root@us12:~# apt-get install nginx 

    基本上完成上面三步就可以任意安装软件了,许多平台也都推荐使用以上形式在Ubuntu中安装应用。实际使用add-apt-repository添加PPA时,也就是相当于修改了/etc/apt/sources.list文件添加了以下两行地址:

deb http://ppa.launchpad.net/ondrej/php/ubuntu YOUR_UBUNTU_VERSION_HERE main
deb-src http://ppa.launchpad.net/ondrej/php/ubuntu YOUR_UBUNTU_VERSION_HERE main

    不过使用PPA不会更改原始的sources.list文件。它会在/etc/apt/sources.list.d目录中创建了两个文件,一个.list文件和一个带有.save的备份文件,从而方便移除PPA。很多PPA软件源提供多个版本,包括daily(每日创建版),dev(开发版),stable(稳定版),beta(测试版),这也就是使用PPA的最大好处,即Ubuntu系统中使用PPA源的软件可以在第一时间体验到最新版本的软件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2133937.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习-神经网络

文章目录 一、基本组成单元&#xff1a;神经元二、神经网络层三、偏置与权重四、激活函数1.激活函数的作用2.常见的激活函数1).Sigmoid2).Tanh函数3).ReLU函数 五、优点与缺点六、总结 神经网络&#xff08;Neural Network, NN&#xff09;是一种模拟人类大脑工作方式的计算模型…

北大阿里:新出炉的LLM偏好对齐方法综述

最近大家都聚集在 Open AI 新的&#x1f353;o1发布和 self-play RL 的共识上。 我想不管是草莓、self-play RL还是数据合成下的new scaling law&#xff0c;也不论这条路是否能够最终走通&#xff0c;仅对于当下以及未来LLM在偏好对齐来说&#xff0c;如文中所述&#xff0c;相…

C语言 | Leetcode C语言题解之第402题移掉K位数字

题目&#xff1a; 题解&#xff1a; char* removeKdigits(char* num, int k) {int n strlen(num), top 0;char* stk malloc(sizeof(char) * (n 1));for (int i 0; i < n; i) {while (top > 0 && stk[top] > num[i] && k) {top--, k--;}stk[top]…

【SSRF漏洞】——http协议常见绕过

改变的确很难&#xff0c;但结果值得冒险 本文如有错误之处&#xff0c;还请各位师傅指正 一.ssrf概述 SSRF全称为Server-side Request Fogery,中文含义服务器端请求伪造 SSRF是一种由攻击者构造形成由目标服务端发起请求的一个安全漏洞。一般情况下&#xff0c;SSRF攻击的目标…

Qt常用控件——QLineEdit

文章目录 QLineEdit核心属性和信号基本示例正则表达式约束验证输入密码是否一致密码显示状态切换 QLineEdit核心属性和信号 QLineEdit用来表示单行输入&#xff0c;可以输入一段文本&#xff0c;但是不能替换 核心属性&#xff1a; 属性说明text输入框中的文本inputMask输入…

Java后端程序员简单操作Linux系统命令

Linux系统概述 Linux 内核最初是由芬兰人林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;在赫尔辛基大学上 学时而编写的一个开源的操作系统。 Linux&#xff08;管理计算机硬件资源&#xff0c;任务调度&#xff09;支持多用户&#xff0c;支持网络&#xff0c;支持多线…

一次开发,多端部署--实例二

一、视觉风格 1、分层参数 使用了分层参数后&#xff0c;当系统切换深色模式时&#xff0c;字体和背景也可以自适应。 Row() {Column() {Text(分层参数)// 分层参数在sysResource包&#xff0c;属于系统参数&#xff0c;全局可用.fontColor($r(sys_color.ohos_id_color_text_pr…

C语言字符函数与字符串函数

目录 1. 字符函数 1.1 字符分类函数 1.2 字符转换函数 2. 字符串函数 2.1 strlen 函数 2.2 strcpy 函数 2.3 strcat 函数 2.4 strcmp 函数 2.5 strncpy 函数 2.6 strncat 函数 2.7 strncmp 函数 2.8 strstr 函数 结语 1. 字符函数 在C语言标准库中提供了一系列用于…

【运维监控】Prometheus+grafana监控tomcat运行情况

运维监控系列文章入口&#xff1a;【运维监控】系列文章汇总索引 文章目录 一、prometheus二、grafana三、tomcat与jmx_exporter配置1、下载jmx_exporter2、部署jmx_exporter3、添加tomcat的配置信息4、修改tomcat的启动文件5、重启tomcat及验证6、其他 四、集成prometheus与gr…

【PythonCode】力扣Leetcode41~45题Python版

【PythonCode】力扣Leetcode41~45题Python版 前言 力扣Leetcode是一个集学习、刷题、竞赛等功能于一体的编程学习平台&#xff0c;很多计算机相关专业的学生、编程自学者、IT从业者在上面学习和刷题。 在Leetcode上刷题&#xff0c;可以选择各种主流的编程语言&#xff0c;如C…

蓝桥杯备赛---1.安装软件 配置环境

1.准备比赛软件安装包 2.安装java环境 根据电脑型号选择环境&#xff0c;一般是x64&#xff0c;安装即可 3.安装STM32CubeMx 点击next默认安装即可 安装之后打开cubeMX&#xff0c;选择顶层Help&#xff0c;点击Mange embeded software packege 选择软件包添加 4.安装keil 点击…

jsp+sevlet+mysql实验室设备管理系统2.0

jspsevletmysql实验室设备管理系统2.0 一、系统介绍二、功能展示1.控制台2.申购设备3.设备列表4.设备维护5.设备类型6.报废设备7.维修记录 四、其它1.其他系统实现 一、系统介绍 系统主要功能&#xff1a; 普通用户&#xff1a;控制台、申购设备、设备列表、设备维护、设备类型…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第二集:通过InControl插件实现绑定玩家输入以及制作小骑士移动空闲动画

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、通过InControl插件实现绑定玩家输入二、制作小骑士移动和空闲动画 1.制作动画2.玩家移动和翻转图像3.状态机思想实现动画切换总结 前言 好久没来CSDN看看&…

低代码开发平台:常用动态脚本Groovy

目录 引言 Groovy 的应用场景 安全问题与解决方案 SQL 注入攻击 反序列化攻击 输入验证 文件路径遍历 命令注入 结论 引言 Groovy 是一种动态语言&#xff0c;它运行在 Java 虚拟机&#xff08;JVM&#xff09;上&#xff0c;并且与 Java 有着很好的互操作性。Groovy…

MATLAB基础应用精讲-【数模应用】卡方拟合优度检验(附MATLAB、python和R语言代码实现)

目录 前言 几个高频面试题目 卡方分布与拟合优度的卡方检验是什么关系? 算法原理 什么是卡方检验 卡方是什么? 如何使用卡方表计算器? 什么是卡方拟合优度检验 使用条件 基本原理 数学模型 卡方检验自由度 理论频数计算 需要注意的事项 卡方检验分类 1、 独…

【Linux】NAT

一、NAT技术背景 之前&#xff0c;我们就讨论了在IPv4协议中&#xff1a;IP协议数量不充足的问题。NAT技术当前解决IP地址不够用的主要手段&#xff0c;是路由器的一个重要功能。对&#xff0c;现在路由器不仅可以工作到网络层&#xff0c;也可以工作到应用层。 NAT能够将私有…

【Hot100】LeetCode—45. 跳跃游戏 II

目录 1- 思路覆盖范围 2- 实现⭐45. 跳跃游戏 II——题解思路 3- ACM 实现 原题链接&#xff1a;45. 跳跃游戏 II 1- 思路 覆盖范围 int cur 0 &#xff1a;记录当前的覆盖范围int next 0&#xff1a;记录当前结点最远的跳跃距离int res 0&#xff1a;记录具体跳几步 覆盖…

tp6.0.8反序列化漏洞的一些看法

更多漏洞分析的内容&#xff0c;可前往无问社区查看http://www.wwlib.cn/index.php/artread/artid/5741.html 环境搭建 composer create-project topthink/think6.0.x-dev thinkphp-v6.0 首先构造一个反序列化点 app/controller/Index.php <?php namespace app\contro…

Claude Prompt 汉语新解

感谢刚哥&#xff01; ;; 作者: 李继刚 ;; 版本: 0.3 ;; 模型: Claude Sonnet ;; 用途: 将一个汉语词汇进行全新角度的解释 ​ ;; 设定如下内容为你的 *System Prompt* (defun 新汉语老师 () "你是年轻人,批判现实,思考深刻,语言风趣" (风格 . ("Oscar Wilde&q…

Linux shell编程学习笔记78:cpio命令——文件和目录归档工具(上)

0 前言 在Linux系统中&#xff0c;除了tar命令&#xff0c;我们还可以使用cpio命令来进行文件和目录的归档。 1 cpio命令的功能&#xff0c;帮助信息&#xff0c;格式&#xff0c;选项和参数说明 1.1 cpio命令的功能 cpio 名字来自 "copy in, copy out"&#xf…