`
sillycat
  • 浏览: 2552164 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

DevOps(1)Jenkins Artifactory Puppet

 
阅读更多

DevOps(1)Jenkins Artifactory Puppet

1. Jenkins

I can build it from the github source codes
>git clone https://github.com/jenkinsci/jenkins.git

Build the binary
>mvn -Plight-test install

After that, we can see the war package from here:
/Users/carl/work/current/jenkins/war/target

If I plan to import the project into eclipse and change the source codes.
>mvn -DdownloadSources=true eclipse:eclipse

Or I can directly download this war from the official website.

Jenkins
http://sillycat.iteye.com/blog/1738636
http://sillycat.iteye.com/blog/1738637
http://sillycat.iteye.com/blog/1756114
http://sillycat.iteye.com/blog/1764129

Copy and deploy that war to tomcat.

Setup Java and Other environment on ubuntu
http://sillycat.iteye.com/blog/2090147

Cool, I deployed tomcat-8.0.12 there. And I change the configuration file and start tomcat.
>cat conf/tomcat-users.xml
<user username="tomcat" password="tomcat" roles="admin-gui,admin-script,manager-gui,manager-status,manager-script,manager-jmx"/>

Visit this URL
http://ubuntu-master2:8080/manager/html

Directly deploy jenkins on that page, not, fail. I will manually copy jenkins there and deploy.

Visit this jenkins page and setup users
http://ubuntu-master2:8080/jenkins/

2. Artifactory
http://sillycat.iteye.com/blog/1308892
http://sillycat.iteye.com/blog/563575
http://sillycat.iteye.com/blog/563601
http://sillycat.iteye.com/blog/563763
http://sillycat.iteye.com/blog/562640

http://www.jfrog.com/confluence/display/RTF/Deploying+on+Servlet+Containers

Source codes are here http://subversion.jfrog.org/artifactory/public/trunk/

Copy the war file and place it under tomcat.

Using the default admin/password to login
http://ubuntu-master2:8080/artifactory/webapp/generalconfig.html?11

Then we can create our own username and password.

3. Puppet
System Installation:  KickStart, Cobbler
Conf Management: Puppet, Cfengine, Capistrano, Func
Monitor System:  Zabbix, Nagios, Ganglia, Cacti

It is a C/S structure, if load balance, we need to use Apache Passenger, Nginx Mongrel.

Puppet Master Mongrel1, Puppet Master Mongrel2 ….
Nginx Upstream proxy

File Server can be directly under nginx.

http://kisspuppet.com/categories/%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0Puppet%E8%AF%BE%E7%A8%8B/
http://blog.csdn.net/damonhao/article/details/11378025

Try install that on ubuntu

Install the master server
>sudo apt-get install puppetmaster

Verify the installation
>ps -ef | grep puppet
puppet  21980     1  0 12:54 ?        00:00:00 /usr/bin/ruby /usr/bin/puppet master

Install the client server
>sudo apt-get install puppet

Verify the installation
>ps -ef | grep puppet
root     15192     1 20 12:54 ?        00:00:02 /usr/bin/ruby /usr/bin/puppet agent

Check the command
>sudo /etc/init.d/puppet --help

Setup the SSL
http://kisspuppet.com/2014/01/09/puppet_cert_help/

clean the key on master
>sudo puppet cert clean --all

clean the key on client
>sudo rm -fr /var/lib/puppet/ssl/certs/ubuntu-slave1.pem 
>sudo puppet agent -t

List all the requests on master
>sudo puppet cert --list

Stop the agent
>sudo service puppet stop

Generate and send the request
>sudo puppet agent --server=ubuntu-master3 --no-daemonize --verbose

Restart the master
>sudo service puppetmaster restar

Clean the files
>sudo rm -fr /var/lib/puppet/ssl/*

Delete the client
>sudo apt-get purge puppet

Turn off the firewall
>sudo ufw disable

List ally he request
>sudo puppet cert --list
  "ubuntu-slave1" (SHA256) D0:B2:64:F8:5D:E4:4B:27:1C:6A:56:51:A3:AF:20:D8:0E:BC:C9:F4:08:71:7C:A0:42:86:C4:61:75:CC:01:69  "ubuntu-slave2" (SHA256) 2D:AC:E3:9F:31:93:03:7A:30:05:E2:F4:11:69:56:0F:22:EA:84:FA:78:D2:7C:22:4B:EC:60:F8:2D:4C:13:1A  "ubuntu-slave3" (SHA256) 19:35:2D:C9:82:36:E6:92:D2:7A:E3:42:B1:5D:BB:9F:EB:A3:61:A1:63:B5:AC:C4:AE:88:9A:53:71:F0:94:1A

Sign the ticket
>sudo puppet cert --sign ubuntu-slave1

Sign all the ticket
>sudo puppet cert --sign --all

Change the Conf on Client
>cat /etc/puppet/puppet.conf 
[main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter templatedir=$confdir/templates prerun_command=/etc/puppet/etckeeper-commit-pre postrun_command=/etc/puppet/etckeeper-commit-post [master] # These are needed when the puppetmaster is run by passenger # and can safely be removed if webrick is used. ssl_client_header = SSL_CLIENT_S_DN ssl_client_verify_header = SSL_CLIENT_VERIFY [agent] certname=ubuntu-slave1 server=ubuntu-master3 report=true

Change the Conf on Master
>cat /etc/puppet/puppet.conf 
[main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter templatedir=$confdir/templates prerun_command=/etc/puppet/etckeeper-commit-pre postrun_command=/etc/puppet/etckeeper-commit-post [master] # These are needed when the puppetmaster is run by passenger # and can safely be removed if webrick is used. certname=ubuntu-master3 ssl_client_header = SSL_CLIENT_S_DN ssl_client_verify_header = SSL_CLIENT_VERIFY


The client receives this message
Notice: Starting Puppet client version 3.4.3

Verification Installation
On master
>cat /etc/puppet/manifests/site.pp 
node default {        file {                "/tmp/helloword.txt":content=>"hello,world";        } }

On Agents
>sudo puppet agent --test
Info: Retrieving pluginInfo: Caching catalog for ubuntu-slave1Info: Applying configuration version '1410206504' Notice: /Stage[main]/Main/Node[default]/File[/tmp/helloword.txt]/ensure: defined content as '{md5}3cb95cfbe1035bce8c448fcaf80fe7d9' Notice: Finished catalog run in 0.03 seconds

That is done. The installation is done. But I need more set up for puppet.
https://docs.puppetlabs.com/references/3.4.3/

References:
http://noops.me/
http://kisspuppet.com/

sbt native packager
https://github.com/sbt/sbt-native-packager
http://www.scala-sbt.org/sbt-native-packager/DetailedTopics/index.html

saltstack

sbt publish
http://www.scala-sbt.org/0.12.4/docs/Detailed-Topics/Publishing.html
http://stackoverflow.com/questions/18281641/how-to-pass-javaoptions-to-play-run-through-build-scala

rundeck
http://blog.jpush.cn/rundeck_server_maintenance_command_script/
http://rundeck.org/docs/

ansible
http://mageedu.blog.51cto.com/4265610/1412028

playbook
https://github.com/hyao/ansible-docs/blob/master/zh/playbooks.rst

thoughtworks go
http://www.thoughtworks.com/products/go-continuous-delivery

puppethttp://puppetlabs.com/puppet/puppet-open-sourcehttps://github.com/puppetlabs/puppethttp://blog.163.com/ucl_liang/blog/static/17929110720134270243317/https://docs.puppetlabs.com/references/3.4.3/http://www.puppetcookbook.com/chefhttp://community.opscode.com/

pxe
http://blog.tankywoo.com/linux/2014/01/13/pxe-and-kickstart-deploy-operation.html

http://blog.csdn.net/damonhao/article/details/11378025

分享到:
评论

相关推荐

    Devops_之—基于Gitlab与Jenkins的CI与CD.pdf

    "Devops 之基于 Gitlab 与 Jenkins 的 CI 与 CD" 本文档主要讲述了 DevOps 的概念、CI 和 CD 的定义、版本控制系统的分类、Gitlab 的部署和使用、Jenkins 的应用等内容。 在第一页中,主要介绍了 DevOps 的概念,...

    DevOps Salary Report - Puppet

    Puppet获取的DevOps 2017年薪报告,供想从事DevOps工作的朋友一个参考 Are you curious about how your job, salary, and working conditions stack up against other professionals in your field? Yep, we are too...

    DevOps+Jenkins+Docker+K8s企业级流水线布署

    1.Docker和k8s环境布署、Jenkins工具安装(maven、jdk、nodejs环境配置)2.Jenkins基本操作和CI/CD操作3.集成SonarQube代码检测4.Harbor镜像仓库使用5.Jenkins内部使用全局JDK和NodeJS环境配置6.Jenkins流水线发布全...

    基于kubernetes+docker+jenkins的DevOps实践

    之前自己的项目开发就搭了个cicd的环境,那时候是在本就...jenkins+dockerregistry+docker 见之前的笔记 总的差不多这样:之后对kubernetes的接触后,就在之前的基础上加入kubernetes,其实也就是在服务器拉取镜像docker

    Jenkins Docker and DevOps The Innovation Catalysts

    Jenkins Docker and DevOps The Innovation Catalysts,Jenkins Docker and DevOps The Innovation Catalysts

    azuredevops1-管道

    通过Docker,Kubernetes,Terraform,Ansible,Jenkins和Azure Devops学习Devops 管道项目Github存储库 Azure Devops- 詹金斯-https: 课程介绍 200多个视频。 20多个小时。 6种DevOps工具-Docker,Kubernetes,...

    Jenkins进阶篇

    然后讲解了Jenkins在各个不同的平台上面进行安装、分布式构建 、和sonarqube、Artifactory服务器的集成、Jenkins持续集成、持续传送、持续部署,在整个过程全部采用的Jenkins 多分支管道来完成的。

    puppet-jenkins-demo:一个基于 oscar 的 vagrant 环境,用于演示如何使用 Puppet 管理 Jenkins,以及如何使用 Jenkins 测试 Puppet 模块

    Vagrant Jenkins 演示环境这是一个 vagrant 环境,定义了基本的 Jenkins 主/从设置,有四个 Jenkins 作业展示了基本的 Puppet 模块测试。 Jenkins VM 由也在此环境中定义的 puppet master 管理。 我曾希望通过在 ...

    jenkins-devops-libs:通用DevOps软件的Jenkins Pipeline共享库的集合

    1. **Puppet**:Puppet 是一个配置管理工具,用于自动化 IT 基础设施的管理和配置。通过 Puppet,你可以定义系统状态,并确保系统在整个生命周期内保持这种状态。 2. **Packer**:Packer 是 HashiCorp 开发的一款...

    java8看不到源码-devops-jenkins-box-template:Bootstrap模板,用于配置您的代理机构自己的Jenkins

    Jenkins 的持续集成。 背景 如今,持续集成是敏捷软件开发生命周期的重要组成部分。 市场上有许多工具:Atlassian Bamboo、Jenkins、Jetbrains TeamCity。 在我看来,Jenkins 拥有最优化的产品社区和一组适合您的...

    DevOps落地实践合集.zip

    顺丰云计算和运维自动化团队从0到1的DevOps之旅 诺基亚的转身:数字化时代的 DevOps 转型之路 大型主机核心银行系统的 DevOps 践行之路 DevOps标准认证评估权威指南及案例解读. 浙江移动的DevOps实践 携程持续交付与...

    基于Jenkins+Gitlab+Docker实现SpringBoot项目自动部署

    `docker run -itd -p 9003:8080 -p 9004:50000 --restart always -v /apps/devops/jenkins:/var/jenkins_home --name jenkins jenkins/jenkins:lts` 这里我们使用的端口映射是9003和50000,分别对应Jenkins的Web...

    owen2016#DevOps-Practices#Jenkins-凭证管理1

    Jenkins 凭证管理许多三方网站和应用可以与Jenkins交互,如Artifact仓库,基于云的存储系统和服务等. 在Jenkins中添加/配置creden

    使用JIRA+Jenkins进行敏捷开发项目管理

    本文将详细介绍如何使用JIRA和Jenkins搭建一套高效的DevOps平台,并具体说明如何运用这套平台来进行敏捷开发管理。 #### 二、JIRA在敏捷项目管理中的应用 ##### 2.1 需求单管理 - **定义**:需求单是在需求分析、...

    owen2016#DevOps-Practices#Jenkins-插件1

    Jenkins 插件角色配置插件SSH相关插件邮件反馈。

    jenkins 配置devops 3 个job 前后触发 TAF

    **Jenkins配置DevOps前后触发TAF详解** 在现代软件开发流程中,DevOps实践扮演着至关重要的角色,它强调开发和运维之间的紧密协作,以实现快速、可靠和频繁的软件发布。Jenkins作为一款流行的持续集成/持续部署(CI...

    Jfrog Artifactory CICD guide

    JFrog Artifactory是一个基于二进制文件的仓库管理器,它可以与CI/CD系统如Jenkins整合,以自动化软件分发和部署流程。以下将详细介绍JFrog Artifactory如何与Jenkins协同工作来实现CI/CD。 首先,JFrog ...

    exin-devops所有课程相关考试

    1. **DevOps理念**:了解DevOps的基本概念,包括持续集成(Continuous Integration, CI)、持续部署(Continuous Deployment, CD)、持续交付(Continuous Delivery, CD)等,以及它们如何协同工作以实现快速迭代和...

    puppet安装配置手册

    - **读者对象**:适合IT系统管理员、DevOps工程师以及对Puppet感兴趣的任何人。 - **引用标准**:手册可能参考了Puppet的官方文档和其他相关技术资料。 - **缩写与术语对照表**:提供常用术语和缩写的解释,便于理解...

Global site tag (gtag.js) - Google Analytics