zoukankan      html  css  js  c++  java
  • 我的第一个python web开发框架(23)——代码版本控制管理与接口文档

      书接上一回,小白和老菜聊到代码的版本控制和接口文档

      小白:为什么要做版本控制,我不弄版本控制不也完成了项目了吗?要做版本控制不是很麻烦,又要安装服务又要提交代码,代码又不是多人用开发,还要写文档......

      老菜:这就是你这些小白的思维,只看眼前不思长远。对于任何一个项目,你都不可能绝对的说它永远都是一个小项目;而项目完成后,同时也面临着不停的变更与修改,你不可能永远记得这个项目任何细节,随着时间的流逝,很多关键点与细节在你的记忆中就会变得越来越模糊,到时要重新修改时你就头大了。我之前有位同事,一开始也是这样想,没文档没代码版本管理,而软件的功能相对也比较复杂,项目完成上线几个月后,想要大改时作为开发人员却无法动手,自己都看不懂自己写的代码了。另外,有可能你写了一些功能,进行修改后想要回滚时却发现没有旧版本,只能重写。

      养成良好的文档编写习惯,对于一个程序员来说也是非常重要的,你不可能永远呆在只有一个开发人员的公司里,在与人合作时,特别是前后端开发人员配合时,如果没有文档交流起来是一件非常麻烦的事情,人越多浪费在沟通的时间就越多。而且随着项目开发时间越长,接口越多,项目维护起来也会越复杂。没有清晰的文档,会给项目的增加各种不应该出现的不稳定性。况且写一个接口文档也就一两分钟的事情,举手之劳,何乐而不为呢?

      养成良好的代码管理与文档编写习惯,对于一位程序员素质修养来说,也是非常必要的,同样两位水平相当的程序员去面试,代码编写规范,懂得代码管理和熟练编写文档的肯定占优。

      代码版本控制大家常用的有git或svn,对于能开源的代码来说,直接放在github上就可以了,其他的话,就需要自己搭建svn服务器。(python服务器环境搭建(2)——安装相关软件 与 python服务器环境搭建(3)——参数配置 有svn服务器创建与发布的说明)

      而接口文档管理,也有不少开源的系统存在,比如wiki、shodoc等系统。

      小白:好的,我回去安装配置一下,尽量让自己规范起来。

     

      小白回去家后,就开始忙碌了起来,之前已安装好虚拟服务器了,所以可以按网上教程直接配置svn。

      配置SVN

      进入svn管理目录:cd /data/svn

      创建svn项:svnadmin create simple

      进入刚创建的svn项:cd /data/svn/simple/conf

      修改/data/svn/simple/conf文件夹下的配置文件

      将authz文件替换成下面内容:

    [simple:/]
    
    admin = rw

      simple是svn当前仓库项的模块名称,每个svn的这个名称都是唯一的,不然可能无法登录使用,admin是我们创建的svn登录账号

      将password文件替换成下面内容:

    [users]
    admin = 123456

      这里设置账号对应的密码

      将svnserve.conf文件替换成下面内容:

    [general]
    anon-access = none
    auth-access = write
    password-db = passwd
    authz-db = authz

      如果你的svn服务未启动,可以输入下面命令:/usr/bin/svnserve -d -r /data/svn (有时连不上,kill掉svn进程重新启动就可以了)

      svn服务器端的操作就完成了。

     

      下面来进行本地操作截图:(可以下载TortoiseSVN-1.9.4.27285-x64-svn-1.9.4.msi进行使用)

      

      安装完svn客户端工具后,右键菜单会出现SVN Checkout项,可以进行检出svn

      

      输入虚拟服务器地址,点击OK进行检出操作

      

      输入前面设置好的账号与密码,完成检出操作

      然后将源码放到该文件夹中(或者直接检出到你的源码文件夹也行)

      

      在刚检出的源码文件夹中点击右键,选择提交代码

      

      全选所有文件,并填写好说明(在做源码版本控制管理时,最好养成编写说明的习惯,方便以后有问题时进行查询,不然版本多时要一个个对比查找是一件非常麻烦的事情)

      

      整个SVN源码管理就操作完成了。

     

      安装ShowDoc接口文档管理系统

      showdoc接口文档是PHP开发的,所以需要安装php环境

      php环境大家可以直接使用官方的安装方法,直接使用yum进行安装,方法也比较简单:https://www.showdoc.cc/php?page_id=14595

      当然也可以使用下面编译方式进行安装,我在CentOS7.0使用下面编译方式安装时会遇到 --enable-opcache=no 问题,估计是操作系统版本与php兼容问题引起的,得升级系统,或使用官方方法安装就好

      安装PHP相关包

    yum install -y libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel autoconf gcc gcc-c++

      进入源码包存储路径(cd /usr/local/src/),并下载相关源码安装包

    cd /usr/local/src/
    wget http://cn2.php.net/distributions/php-5.6.36.tar.gz
    wget https://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
    wget https://jaist.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
    wget https://jaist.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz

      编译安装libmcrypt

    cd /usr/local/src/
    tar -zxvf libmcrypt-2.5.8.tar.gz
    cd libmcrypt-2.5.8
    ./configure --prefix=/usr/local/related/libmcrypt
    make && make install

      编译安装mhash

    cd /usr/local/src/
    tar -zxvf mhash-0.9.9.9.tar.gz
    cd mhash-0.9.9.9
    ./configure --prefix=/usr/local/related/mhash
    make && make install

       设置编译mcrypt所需环境变量(下面命令要一条条执行)

    export LD_LIBRARY_PATH=/usr/local/related/libmcrypt/lib:/usr/local/related/mhash/lib
    export LDFLAGS="-L/usr/local/related/mhash/lib -I/usr/local/related/mhash/include/"
    export CFLAGS="-I/usr/local/related/mhash/include/"

      编译安装mcrypt

    cd /usr/local/src/
    tar -zxvf mcrypt-2.6.8.tar.gz
    cd mcrypt-2.6.8
    ./configure --prefix=/usr/local/related/mcrypt --with-libmcrypt-prefix=/usr/local/related/libmcrypt
    make && make install

      编译安装php

    cd /usr/local/src/
    tar -zxvf php-5.6.36.tar.gz
    cd php-5.6.36
    ./buildconf --force
    ./configure --prefix=/usr/local/php --exec-prefix=/usr/local/php --bindir=/usr/local/php/bin --sbindir=/usr/local/php/sbin --includedir=/usr/local/php/include --libdir=/usr/local/php/lib/php --mandir=/usr/local/php/php/man --with-config-file-path=/usr/local/php/etc --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mcrypt=/usr/include --with-mhash --with-openssl --enable-mysqlnd --with-mysqli=shared,mysqlnd --with-mysql=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --without-gdbm --with-mcrypt=/usr/local/related/libmcrypt --disable-fileinfo
    make clean && make && make install

      复制相关配置文件与启动文件

    cp php.ini-production /usr/local/php/etc/php.ini
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

      创建运行php用户和组

    groupadd -r php && useradd -r -g php -s /bin/false -d /usr/local/php -M php

      设置PHP日志目录和php-fpm的运行进程ID文件(php-fpm.sock)目录

    groupadd -r nginx && useradd -r -g nginx -s /bin/false -M nginx
    mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpm

      修改session的目录配置

    mkdir -p /var/lib/php/session
    chown -R nginx:nginx /var/lib/php

      设置PHP开机启动

    chmod +x /etc/init.d/php-fpm
    chkconfig --add php-fpm
    chkconfig php-fpm on

      启动php服务

    service php-fpm start

      shosdoc的安装可以根据官方文档说明(http://www.showdoc.cc/web/#/help?page_id=32238)进行安装

      登录https://github.com/star7th/showdoc 下载源码包

      然后将源码包上传到 /data/www/ 目录并解压到当前目录

      添加nginx配置:showdoc.conf

    cd /usr/local/nginx/conf/vhost/
    vi showdoc.conf

      在vi编辑器中添加下面代码

    server {
        listen      8080;
        charset     utf-8;
        server_name 127.0.0.1;
        root /data/www/showdoc-master;
    
        location ~ .php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
                include        fastcgi_params;
            }
    
        location / {
                    index index.php index.html;
                    client_max_body_size    1000m;
        }
        access_log  /data/logs/nginx/showdoc_access.log  main;
    }

      重启nginx:/usr/local/nginx/sbin/nginx -s reload

      在浏览器中输入:http://xxx:8080/ 就可以访问showdoc了

      

      点击OK进行安装

      

      

      点击右上角注册账号

      

      

      注册完账号,就可以创建项目进行接口文档管理了

      

      

      

      进入项目后,点击左上角的+ 创建接口文档

      

      填写完标题,点击插入API接口模板,就有现成的模板模式出来,简单修改一下一份完整的接口文档就写好了,快的话写一个接口文档也就不到一分钟时间。我们也可以根据自己的需要创建自己的接口文档模板。

      

      保存后就可以看到简洁又漂亮的接口文档了

     

    版权声明:本文原创发表于 博客园,作者为 AllEmpty 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。

    python开发QQ群:669058475(本群已满)、733466321(可以加2群)    作者博客:http://www.cnblogs.com/EmptyFS/

  • 相关阅读:
    web服务器-Apache
    nginx优化
    nginx下载限速
    nginx-URL重写
    HDU 5358 First One 求和(序列求和,优化)
    HDU 5360 Hiking 登山 (优先队列,排序)
    HDU 5353 Average 糖果分配(模拟,图)
    UVALive 4128 Steam Roller 蒸汽式压路机(最短路,变形) WA中。。。。。
    HDU 5348 MZL's endless loop 给边定向(欧拉回路,最大流)
    HDU 5344 MZL's xor (水题)
  • 原文地址:https://www.cnblogs.com/EmptyFS/p/9180621.html
Copyright © 2011-2022 走看看