码迷,mamicode.com
首页 > 其他好文 > 详细

实现代码的自动部署

时间:2019-08-16 22:53:51      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:conf   dmi   mkdir   port   定时任务   cti   state   ram   习惯   

一.代码的自动化部署方法:

1.搭建svn仓库编写hooks脚本,实现自动化部署。
2.jenkins与git结合实现代码的自动化部署。
3.结合ftp和rsync以及定时任务实现代码的自动化部署。

二、SVN部署简述:
[root@e /]# yum install -y subversion --> 下载
[root@e /]# cd /data/
[root@e data]# mkdir testsvn -->创建仓库
[root@e testsvn]# svnadmin create /data/testsvn
[root@e testsvn]# ls
conf db format hooks locks README.txt
[root@e testsvn]# cd conf/
[root@e conf]# ls
authz passwd svnserve.conf
[root@e conf]# vi svnserve.conf
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = data/testsvn# 认证空间名,版本库所在目录
[root@e conf]# vi passwd
lb = lb --> 添加用户 密码
[root@e conf]# vi authz
[/] -->添加权限

  • = r
    [root@e conf]# svnserve -d -r /data/testsvn/ 启动
    [root@e conf]# netstat -luntp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:3690 0.0.0.0: LISTEN 18463/svnserve
    [root@e conf]# cd ../hooks/ -->钩子脚本位置
    [root@e hooks]# ls
    post-commit.tmpl post-revprop-change.tmpl pre-commit.tmpl pre-revprop-change.tmpl start-commit.tmpl
    post-lock.tmpl post-unlock.tmpl pre-lock.tmpl pre-unlock.tmpl
    [root@e hooks]# cp post-commit.tmpl post-commit
    [root@e hooks]# chmod +x post-commit
    [root@e hooks]# vi post-commit

    #!/bin/bash
    . /etc/profile
    REPOPATH="$1"
    REV="$2"
    TRANS="$3"
    repo_name="testsvn"
    svn_url="svn://127.0.0.1:3690/"
    local_co_path="/data/svn_push_dir/"
    repo_url=$svn_url$repo_name
    repo_co_path=$local_co_path$repo_name
    /usr/bin/test -d $local_co_path || /bin/mkdir $local_co_path
    /usr/bin/svn --username lb --password ‘lb‘ co $repo_url $repo_co_path --no-auth-cache
    remote_dir="/data/www/code/"
    for host in intf-01 intf-02;do
    /usr/bin/rsync -az --timeout=300 --exclude ".svn" --exclude "tmp" $repo_co_path"/" www@$host:/data/www/code/
    done

    这就是svn的简单操作,由于我不常用git我就不说这种了
    三、ftp+rsync+定时任务实现代码的自动部署这里选择pureftp这个ftp工具,我习惯编译安装
    1.软件包下载《比较细致》
    https://blog.51cto.com/865516915/2064503
    2.安装
    [root@e ~]# tar zxvf lnmp1.5.tar.gz
    [root@e ~]# cd lnmp1.5
    [root@e lnmp1.5]# ls
    addons.sh conf init.d License pureftpd.sh src uninstall.sh upgrade.sh
    ChangeLog include install.sh lnmp.conf README tools upgrade1.x-1.5.sh
    [root@e lnmp1.5]# ./pureftpd.sh -->编译安装
    [root@e lnmp1.5]# cd /usr/local/pureftpd/
    [root@e pureftpd]# ls
    bin etc sbin share
    [root@e pureftpd]# vi etc/pure-ftpd.conf -->配置文件可以修改端口
    ...
    Bind 127.0.0.1,21 -->ip,port
    ...
    [root@e pureftpd]# service pureftpd restart
    注意: iptbables要放行端口
    3.使用:
    a、添加用户权限
    ①。编译安装可以使用lnmp ftp add 添加用户和权限
    [root@e pureftpd]# lnmp ftp add
    +-------------------------------------------+
    | Manager for LNMP, Written by Licess |
    +-------------------------------------------+
    | https://lnmp.org |
    +-------------------------------------------+
    Enter ftp account name: lb --> 用户名
    Enter password for ftp account lb: lb -->密码
    Enter directory for ftp account lb: /data --> 权限
    Password:
    Enter it again:
    Created FTP User: lb Sucessfully.
    ②。使用pure-pw命令添加
    [root@e bin]# cd /usr/local/pureftpd/bin/
    [root@e bin]# ls
    pure-pw pure-pwconvert pure-statsdecode
    [root@e bin]# ./pure-pw useradd lblb -u www -d /data/
    Password:
    Enter it again:
    注: lblb为用户 -u为系统中存在的用户 -d 权限
    b、删除用户
    ①。lnmp ftp del lb
    ②。./pure-pw userdel lblb
    c、查看用户
    ①。lnmp ftp list
    ②。./pure-pw list
    4、配合rsync
    rsync的安装我就不细说了,大家可以按照此篇文档进行安装
    https://blog.csdn.net/u011017575/article/details/52456645
    5,启动rsync之后就可以写定时任务了 客户端
    #/1 * rsync -avzP --timeout=300 --password-file=/tmp/lmpasswd.txt lb@ip::data /data/www/ 2>&1 >/dev/null

实现代码的自动部署

标签:conf   dmi   mkdir   port   定时任务   cti   state   ram   习惯   

原文地址:https://blog.51cto.com/13043960/2430240

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!