3

三、客户端测试

1、连接CVS服务器

刚才建立的CVS服务器端的IP为:10.15.5.89

客户端主机使用非root用户,我的用户名为test
首先建立环境变量CVSROOT,以刚才建立的CVS用户cvsuser登录:

[test@liu ~]$ export CVSROOT=:pserver:cvsuser@10.15.5.89:/home/cvsroot

[test@liu ~]$ cvs login

Logging in to :pserver:cvsuser@10.15.5.89:2401/home/cvsroot

CVS password:

[test@liu ~]$

如果没有错误提示,则代表成功登录CVS服务器。

---------------------------------------

在此却很有可能出现:unrecognized auth response from 10.15.5.89: cvs pserver: cannot open /home/cvsroot/CVSROOT/config: Permission denied

尤其是当你的linux版本较高时。
这是由于selinux的原因,这是一种安全机制,具体可以上网查。
只要关闭selinux就可以了:

编辑/etc/selinux/config

SELINUX设置为SELINUX=disabled,禁用SELINUX

重启电脑就好了

---------------------------------------

2、检出模块

我们上面已经建立了一个仓库了: myProject

我们在客户端将该模块checkout

[test@liu ~]$ cvs checkout myProject

cvs checkout: Updating myProject

U myProject/helloworld.cpp

U myProject/makefile

[test@liu ~]$

好了,在当前目录下生成了目录myProject,现在你就可以进入myProject进行修改,删除,提交等操作了。



四、现在我们来说说多仓库的建立


注意,我们用cvsroot仅仅是用来管理,所以,不要在它$HOME下面创建任何仓库
另外,cvsroot用户的初始环境不应该包含非空的$CVSROOT.(也就是必须设置环境变量)  使用cvsroot来进行的任何管理工作都指明CVSROOT是一个好的习惯.


OK,开始给单个项目建仓库

假设有两个项目,project1,project2,希望单独存放,便于管理

1、分别给两个工程建立各自的cvs主目录  

#mkdir /home/cvsroot/pro1

#mkdir /home/cvsroot/pro2

2、 分别更改pro1pro2目录及其子目录的属主和属组

#chown cvsroot.cvs /home/cvsroot/pro1

#chown cvsroot.cvs /home/cvsroot/pro2

3、更改目录pro1pro2的权限

#chmod 2775 /home/cvsroot/pro1

#chmod 2775 /home/cvsroot/pro2

(更高的安全要求则$chmod 2770 /home/cvsroot/pro1)


4OK,开始建立仓库



#su cvsroot



$cvs -d /home/cvsroot/pro1 init

$cvs -d /home/cvsroot/pro2 init



$chmod 2775 /home/cvsroot/pro1

$chmod 2775 /home/cvsroot/pro2

5、修改启动文件

#vi /etc/xinetd.d/cvspserver

内容如下:

service cvspserver
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot/pro1 --allow-root =/home/cvsroot/pro2 pserver
log_on_success += USERID
log_on_failure += USERID

}

然后更改/etc/xinetd.d/cvs, 否则的话,在后面的远程登录本机时会出现下面的问题

“没有该仓库”

[test@liu ~]$ cvs -d :pserver:cvsuser@10.15.5.89:/home/cvsroot/pro1 login

Logging in to :pserver:cvsuser@10.15.5.89:2401/home/cvsroot/pro1

CVS password:

/home/cvsroot/pro1: no such repository

[test@liu ~]$

更改方法如下:

disable=yes 改为 disable=noenvserver_args中路径改为你的cvsroot路径,我的是/home/cvsroot

更改后的内容如下

# default: off

# description: The CVS service can record the history of your source \

# files. CVS stores all the versions of a file in a single \

# file in a clever way that only stores the differences \

# between versions.

service cvspserver

{

disable = no

port = 2401

socket_type = stream

protocol = tcp

wait = no

user = root

passenv = PATH

server = /usr/bin/cvs

env = HOME=/home/cvsroot

server_args = -f –allow-root=/home/cvsroot/pro1 --allow-root=/home/cvsroot/pro2 pserver

# bind = 127.0.0.1

}



6、重启xinetd服务,使配置生效


重启xinetd

# /etc/init.d/xinetd restart

停止 xinetd[确定]

启动 xinetd[确定]

7、建立更多的仓库的技巧

由于xinetdserver_args长度限制,当你想运行很多的单个仓库的时候,可以这么做

1)修改cvspservercvs文件 

#vi /etc/xinetd.d/cvspserver

#vi /etc/xinetd.d/cvs

修改它们的内容中如下:

service cvspserver
{
disable = no
socket_type = stream
wait = no
user = root
server = /home/cvsroot/cvs.run
log_on_success += USERID
log_on_failure += USERID

}

2)然后写脚本/home/cvsroot/cvs.run

#vi /home/cvsroot/cvs.run

脚本内容如下:

#!/bin/bash

/usr/bin/cvs -f \
--allow-root=/home/cvsroot/pro1 \
--allow-root=/home/cvsroot/pro2 \
--allow-root=/home/cvsroot/pro3 \
--allow-root=/home/cvsroot/pro4 \
--allow-root=/home/cvsroot/pro5 \
--allow-root=/home/cvsroot/pro6 \
pserver

3)更改cvs.run的权限:

#chmod +x /home/cvsroot/cvs.run

4)重启服务:

#service xinetd restart

好了,现在多个独立的仓库也建立好了
资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值