在CentOS上构建.net自动化编译环境,centos.net
在CentOS上构建.net自动化编译环境,centos.net
我们知道在Windows上我们很容易构建于MSBuild的自动化编译环境,那么在CentOS也是可以的,主要是需要Mono。
在这儿我们选择Jenkins+Gitlab+Mono在CentOS 6.5构建的环境。
1. 安装 Jenkins
Jenkins,之前叫做Hudson,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,包括:持续的软件版本发布/测试项目。 监控外部调用执行的工作。
在CentOS中安装:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins
2. 安装 Mono 3.10
Mono是一个致力于开创.NET在Linux上使用的开源工程。它包含了一个C#语言的编译器,一个CLR的运行时,和一组类库,并实现了 ADO NET和ASP NET。该项目的目标是创建一系列符合标准ECMA (Ecma-334和Ecma-335)的.Net 工具, 包括C #编译器和共同语言(CL 即 Common Language)执行平台(Platform).与微软的.Net不同, Mono项目不仅可以运行于Windows系统内,还可以运行于Linux, FreeBSD, Unix, Mac OS X和Solaris。
2.1 安装Mono需要的GDI+兼容API的库Libgdiplus
cd /usr/local/src/
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2
tar -jxvf libgdiplus-2.10.tar.bz2
cd libgdiplus-2.10
./configure --prefix=/usr
make
make install
2.2 源码安装Mono 3.10
cd /usr/local/src/
wget http://origin-download.mono-project.com/sources/mono/mono-3.10.0.tar.bz2
tar -jxvf mono-3.10.0.tar.bz2
cd mono-3.10.0
./configure --prefix=/usr
make
make install
输入 mono -V 如有mono版本信息,则安装成功.
3. 安装GitLab
GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
在这儿为了方便, 选用bitnami的集成好VM版GitLab,运行于Ubuntu 14.04
Gitlab VM
当然您也可以 在CentOS中手工安装GitLab,还可参考GitLab版本管理
Tips: Jenkins服务器与GitLab可以分开部署
4. 安装Jenkins 的插件
https://wiki.jenkins-ci.org/display/JENKINS/SCM+API+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/MSTest+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/xUnit+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/MSBuild+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Git+Client+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin
5. 在shell中执行,导入如下证书:
$ sudo mozroots --import --machine --sync
$ sudo certmgr -ssl -m https://go.microsoft.com
$ sudo certmgr -ssl -m https://nugetgallery.blob.core.windows.net
$ sudo certmgr -ssl -m https://nuget.org
为避免
Nuget with mono getting response stream (Write: The authentication or decryption has failed.): SendFailure
配置NuGet自动还原
由于现在.net 的项目与解决方案都是使用NuGet来管理依赖了。同时在VS的项目中我们需要打开
作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。
评论暂时关闭