-
Notifications
You must be signed in to change notification settings - Fork 419
Expand file tree
/
Copy pathgitlab.init.html
More file actions
367 lines (295 loc) · 41.8 KB
/
Copy pathgitlab.init.html
File metadata and controls
367 lines (295 loc) · 41.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>112.2. 初始化 Gitlab</title><link rel="stylesheet" type="text/css" href="../docbook.css" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" content=" 				bash,bunzip2,busybox,bzcat,bzcmp,bzdiff,bzegrep,bzexe,bzfgrep,bzgrep,bzip2,bzip2recover,bzless,bzmore,cat,chgrp,chmod,chown,chvt,cp,cpio,dash,date,dbus-cleanup-sockets,dbus-daemon,dbus-uuidgen,dd,df,dir,dmesg,dnsdomainname,domainname,dumpkeys,echo,ed,egrep,false,fgconsole,fgrep,fuser,fusermount,grep,gunzip,gzexe,gzip,hostname,ip,kbd_mode,kill,less,lessecho,lessfile,lesskey,lesspipe,ln,loadkeys,login,ls,lsmod,mkdir,mknod,mktemp,more,mount,mountpoint,mt,mt-gnu,mv,nano,nc,nc.openbsd,netcat,netstat,nisdomainname,ntfs-3g,ntfs-3g.probe,ntfs-3g.secaudit,ntfs-3g.usermap,open,openvt,pidof,ping,ping6,plymouth,ps,pwd,rbash,readlink,rm,rmdir,rnano,run-parts,sed,setfont,setupcon,sh,sh.distrib,sleep,static-sh,stty,su,sync,tailf,tar,tempfile,touch,true,ulockmgr_server,umount,uname,uncompress,unicode_start,vdir,which,ypdomainname,zcat,zcmp,zdiff,zegrep,zfgrep,zforce,zgrep,zless,zmore,znew,,/sbin/:,acpi_available,apm_available,apparmor_parser,badblocks,blkid,blockdev,bootlogd,cfdisk,crda,ctrlaltdel,debugfs,depmod,dhclient,dhclient3,dhclient-script,dmsetup,dosfsck,dosfslabel,dump,dumpe2fs,e2fsck,e2image,e2label,e2undo,ethtool,fdisk,findfs,fsck,fsck.cramfs,fsck.ext2,fsck.ext3,fsck.ext4,fsck.ext4dev,fsck.minix,fsck.msdos,fsck.nfs,fsck.vfat,fstab-decode,getty,halt,hdparm,hwclock,ifconfig,ifdown,ifquery,ifup,init,initctl,insmod,insserv,installkernel,ip,ip6tables,ip6tables-restore,ip6tables-save,ipmaddr,iptables,iptables-restore,iptables-save,iptunnel,isosize,iwconfig,iwevent,iwgetid,iwlist,iwpriv,iwspy,kbdrate,killall5,ldconfig,ldconfig.real,logsave,losetup,lsmod,MAKEDEV,mii-tool,mkdosfs,mke2fs,mkfs,mkfs.bfs,mkfs.cramfs,mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.ext4dev,mkfs.minix,mkfs.msdos,mkfs.vfat,mkhomedir_helper,mkswap,modinfo,modprobe,mountall,mount.fuse,mount.nfs,mount.nfs4,mount.ntfs,mount.ntfs-3g,nameif,on_ac_power,pam_tally,parted,partprobe,pivot_root,plipconfig,plymouthd,pmap_dump,pmap_set,portmap,poweroff,rarp,raw,rdump,reboot,regdbdump,reload,resize2fs,restart,restore,rfkill,rmmod,route,rpc.statd,rrestore,rtacct,rtmon,runlevel,sfdisk,shadowconfig,showmount,shutdown,slattach,sm-notify,ss,start,startpar,start-stop-daemon,status,stop,sulogin,swapoff,swapon,switch_root,sysctl,tc,telinit,tune2fs,udevadm,udevd,umount.nfs,umount.nfs4,unix_chkpwd,unix_update,upstart-udev-bridge,ureadahead,wipefs,wpa_action,wpa_cli,wpa_supplicant 			, 				a2p,acyclic,addftinfo,addpart,afmtodit,animate,anytopnm,apg,apgbfm,apport-bug,apport-cli,apport-collect,apport-unpack,apropos,apt-cache,apt-cdrom,apt-config,apt-extracttemplates,apt-ftparchive,apt-get,aptitude,aptitude-create-state-bundle,aptitude-run-state-bundle,apt-key,apt-mark,apt-sortpkgs,arch,arping,asciitopgm,at,atktopbm,atq,atrm,awk,base64,basename,bashbug,batch,bc,bcomps,bconsole,bdftopcf,bdftops,bdftruncate,bioradtopgm,bmptopnm,bmptoppm,brushtopbm,bsd-mailx,bsd-write,byobu,byobu-config,byobu-export,byobu-janitor,byobu-launch,byobu-launcher,byobu-launcher-install,byobu-launcher-uninstall,byobu-reconnect-sockets,byobu-select-profile,byobu-select-session,byobu-status,byobu-status-detail,c2ph,cal,calendar,captoinfo,catchsegv,catman,cautious-launcher,ccomps,chage,chattr,chcon,check-bios-nx,check-language-support,chem,chfn,chkdupexe,chrt,chsh,circo,ckbcomp,ck-history,ck-launch-session,ck-list-sessions,cksum,clear,clear_console,cmp,cmuwmtopbm,codepage,col,colcrt,colrm,column,comm,compare,compose,composite,config_data,conjure,convert,corelist,cpan,cpan2dist,cpanp,cpanp-run-perl,cpp,cpp-4.4,createrepo,c_rehash,crontab,csplit,ctstat,curl,curlftpfs,cut,dbilogstrip,dbiprof,dbiproxy,dbmmanage,dbus-monitor,dbus-send,ddate,deallocvt,debconf,debconf-apt-progress,debconf-communicate,debconf-copydb,debconf-escape,debconf-set-selections,debconf-show,defoma,defoma-app,defoma-font,defoma-hints,defoma-id,defoma-psfont-installer,defoma-subst,defoma-user,delpart,dh_bash-completion,dh_installdefoma,dh_installxmlcatalogs,dh_pycentral,dh_pysupport,dialog,diff,diff3,diffimg,dig,dijkstra,dircolors,dirname,display,do-release-upgrade,dot,dot2gxl,dotlockfile,dotty,dpkg,dpkg-deb,dpkg-divert,dpkg-query,dpkg-split,dpkg-statoverride,dpkg-trigger,dprofpp,du,dumphint,dumpkeys,dvipdf,easy_install,easy_install-2.6,edit,editor,eject,enc2xs,encode_keychange,env,envsubst,eps2eps,epsffit,eqn,eqn2graph,ex,expand,expiry,expr,extractres,eyuvtoppm,factor,faillog,fallocate,fc-cache,fc-cat,fc-list,fc-match,fc-query,fc-scan,fdp,fiascotopnm,file,find,find2perl,findsmb,fitstopnm,fixdlsrps,fixfmps,fixmacps,fixproc,fixpsditps,fixpspps,fixscribeps,fixtpps,fixwfwps,fixwpps,fixwwps,flock,flow-capture,flow-cat,flow-dscan,flow-expire,flow-export,flow-fanout,flow-filter,flow-gen,flow-header,flow-import,flow-log2rrd,flow-mask,flow-merge,flow-nfilter,flow-print,flow-receive,flow-report,flow-rpt2rrd,flow-rptfmt,flow-send,flow-split,flow-stat,flow-tag,flow-xlate,fmt,fold,font2c,fontconfig-voodoo,fonttosfnt,fping,fping6,free,fribidi,from,fstopgm,ftp,funzip,g3topbm,gawk,gc,gdiffmk,gdk-pixbuf-query-loaders,gemtopbm,gemtopnm,gendiff,geqn,GET,getafm,getconf,getent,getkeycodes,getopt,gettext,gettext.sh,ghostscript,giftopnm,ginstall-info,gio-querymodules,git,git-receive-pack,git-shell,git-upload-archive,git-upload-pack,gmetric,gnokii,gnuplot,gnuplot-nox,gouldtoppm,gpasswd,gpg,gpgsplit,gpgv,gpg-zip,gpic,grap2graph,grn,grodvi,groff,groffer,grog,grolbp,grolj4,grops,grotty,groups,grub-bin2h,grub-editenv,grub-fstest,grub-mkelfimage,grub-mkfont,grub-mkimage,grub-mkisofs,grub-mkpasswd-pbkdf2,grub-mkrelpath,grub-mkrescue,grub-script-check,gs,gsbj,gsdj,gsdj500,gslj,gslp,gsnd,gstat,gtbl,gtk-query-immodules-2.0,gtk-update-icon-cache,gvcolor,gvimtutor,gvpack,gvpr,gxditview,gxl2dot,h2ph,h2xs,hd,head,HEAD,helpztags,hexdump,hipstopgm,host,hostid,hpftodit,htdbm,htdigest,htpasswd,i386,icontopbm,iconv,id,identify,igawk,ilbmtoppm,imgtoppm,import,includeres,indexer,indxbib,info,infobrowser,infocmp,infokey,infotocap,innochecksum,innotop,install,install-info,instmodsh,ionice,iostat,ipcmk,ipcrm,ipcs,ipmicmd,ipmilan,ipmish,ipmitool,ipmi_ui,iptables-xml,join,jpegtopnm,killall,kvm-ok,l4p-tmpl,landscape-sysinfo,last,lastb,lastlog,lcf,ldd,leaftoppm,lefty,less,lessecho,lessfile,lesskey,lesspipe,lexgrog,libnetcfg,line,link,linux32,linux64,linux-boot-prober,lispmtopgm,lkbib,lneato,lnstat,loadkeys,loadunimap,locale,localedef,locate,lockfile-check,lockfile-create,lockfile-remove,lockfile-touch,logger,logname,look,lookbib,lorder,lsattr,lsb_release,lscpu,lshw,lsof,lspci,lspgpot,lsusb,ltrace,lwp-download,lwp-dump,lwp-mirror,lwp-request,lwp-rget,lzcat,lzma,macptopbm,mail,Mail,mail-lock,mailq,mail-touchlock,mail-unlock,mailx,make,make-memtest86+-boot-floppy,make_method,man,mandb,manhole,manpath,mapscrn,mawk,mcookie,md5sum,md5sum.textutils,mdatopbm,memcached,mesg,mgrtopbm,mkfifo,mkfontdir,mkfontscale,mk_modmap,mktap,mlocate,mmroff,modifyrepo,mogrify,montage,motd+shell,mpstat,msql2mysql,mtr,mtvtoppm,munin-check,munin-cron,munindoc,mutt,mutt_dotlock,myisamchk,myisam_ftdump,myisamlog,myisampack,my_print_defaults,mysql,mysqlaccess,mysqladmin,mysqlanalyze,mysqlbinlog,mysqlbug,mysqlcheck,mysql_client_test,mysql_client_test_embedded,mysql_convert_table_format,mysqld_multi,mysqld_safe,mysqldump,mysqldumpslow,mysql_find_rows,mysql_fix_extensions,mysql_fix_privilege_tables,mysqlhotcopy,mysqlimport,mysql_install_db,mysqloptimize,mysqlrepair,mysqlreport,mysql_secure_installation,mysql_setpermission,mysqlshow,mysqlslap,mysqltest,mysqltest_embedded,mysql_tzinfo_to_sql,mysql_upgrade,mysql_waitpid,mysql_zap,mytop,namei,nano,nawk,ncal,ncat,ncftp,ncftp3,ncftpbatch,ncftpbookmarks,ncftpget,ncftpls,ncftpput,ncftpspooler,ncurses5-config,ncursesw5-config,ndiff,neato,neotoppm,neqn,net,netkit-ftp,net.samba3,net-snmp-config,netstat-nat,newaliases,newgrp,ngettext,nice,nl,nmap,nmblookup,nmblookup.samba3,nmon,nohup,nop,nroff,nslookup,nstat,nsupdate,od,oldfind,omshell,on_ac_power,openipmicmd,openipmish,openssl,openssl-vulnkey,os-prober,pager,palmtopnm,pamcut,pamdeinterlace,pamdice,pamfile,pamoil,pamstack,pamstretch,pamstretch-gen,paperconf,parsechangelog,partx,passwd,paste,patch,pathchk,pbmclean,pbmlife,pbmmake,pbmmask,pbmpage,pbmpscale,pbmreduce,pbmtext,pbmtextps,pbmto10x,pbmtoascii,pbmtoatk,pbmtobbnbg,pbmtocmuwm,pbmtoepsi,pbmtoepson,pbmtog3,pbmtogem,pbmtogo,pbmtoicon,pbmtolj,pbmtomacp,pbmtomda,pbmtomgr,pbmtonokia,pbmtopgm,pbmtopi3,pbmtoplot,pbmtoppa,pbmtopsg3,pbmtoptx,pbmtowbmp,pbmtox10bm,pbmtoxbm,pbmtoybm,pbmtozinc,pbmupc,pcimodules,pcretest,pcxtoppm,pdb,pdb2.6,pdb3,pdb3.1,pdf2dsc,pdf2ps,pdfopt,pdfroff,pear,peardev,pecl,peekfd,perl,perl5.10.1,perlbug,perldoc,perlivp,perlthanks,perror,pf2afm,pfbtopfa,pfbtops,pfc,pftp,pg,pgawk,pgmbentley,pgmcrater,pgmedge,pgmenhance,pgmhist,pgmkernel,pgmnoise,pgmnorm,pgmoil,pgmramp,pgmslice,pgmtexture,pgmtofs,pgmtolispm,pgmtopbm,pgmtoppm,pgrep,php,php5,pi1toppm,pi3topbm,pic,pic2graph,pico,piconv,pidstat,pinky,pip,pjtoppm,pkill,pl2pm,plog,pmap,pngtopnm,pnmalias,pnmarith,pnmcat,pnmcolormap,pnmcomp,pnmconvol,pnmcrop,pnmcut,pnmdepth,pnmenlarge,pnmfile,pnmflip,pnmgamma,pnmhisteq,pnmhistmap,pnmindex,pnminterp,pnminterp-gen,pnminvert,pnmmargin,pnmmontage,pnmnlfilt,pnmnoraw,pnmnorm,pnmpad,pnmpaste,pnmpsnr,pnmquant,pnmremap,pnmrotate,pnmscale,pnmscalefixed,pnmshear,pnmsmooth,pnmsplit,pnmtile,pnmtoddif,pnmtofiasco,pnmtofits,pnmtojpeg,pnmtopalm,pnmtoplainpnm,pnmtopng,pnmtops,pnmtorast,pnmtorle,pnmtosgi,pnmtosir,pnmtotiff,pnmtotiffcmyk,pnmtoxwd,pod2html,pod2latex,pod2man,pod2text,pod2usage,podchecker,podselect,poff,pon,POST,post-grohtml,ppm3d,ppmbrighten,ppmchange,ppmcie,ppmcolormask,ppmcolors,ppmdim,ppmdist,ppmdither,ppmfade,ppmflash,ppmforge,ppmhist,ppmlabel,ppmmake,ppmmix,ppmnorm,ppmntsc,ppmpat,ppmquant,ppmquantall,ppmqvga,ppmrainbow,ppmrelief,ppmshadow,ppmshift,ppmspread,ppmtoacad,ppmtobmp,ppmtoeyuv,ppmtogif,ppmtoicr,ppmtoilbm,ppmtojpeg,ppmtoleaf,ppmtolj,ppmtomap,ppmtomitsu,ppmtompeg,ppmtoneo,ppmtopcx,ppmtopgm,ppmtopi1,ppmtopict,ppmtopj,ppmtopuzz,ppmtorgb3,ppmtosixel,ppmtotga,ppmtouil,ppmtowinicon,ppmtoxpm,ppmtoyuv,ppmtoyuvsplit,ppmtv,pr,preconv,pre-grohtml,prename,print,printafm,printenv,printerbanner,printf,prove,prtstat,prune,ps2ascii,ps2epsi,ps2pdf,ps2pdf12,ps2pdf13,ps2pdf14,ps2pdfwr,ps2ps,ps2ps2,ps2txt,psbook,psed,psfaddtable,psfgettable,psfstriptable,psfxtable,psidtopgm,psmerge,psnup,psresize,psselect,pstopnm,pstops,pstree,pstree.x11,pstruct,ptar,ptardiff,ptx,pwdx,py3_compilefiles,pycentral,pyclean,pycompile,py_compilefiles,pydoc,pydoc2.6,pydoc3,pydoc3.1,pygettext,pygettext2.6,pygettext3,pygettext3.1,pyhtmlizer,python,python2,python2.6,python3,python3.1,pyversions,qrttoppm,rasttopnm,rawtopgm,rawtoppm,rcp,red,refer,rename,rename.ul,renice,replace,report-hw,reset,resolveip,resolve_stack_dump,rev,rgb3toppm,rgrep,rletopnm,rlogin,rmcp_ping,roff2dvi,roff2html,roff2pdf,roff2ps,roff2text,roff2x,routef,routel,rpcclient,rpcinfo,rpm,rpm2cpio,rpmbuild,rpmdb,rpmgraph,rpmquery,rpmsign,rpmverify,rrdcgi,rrdtool,rrdupdate,rsh,rsync,rtstat,runcon,run-mailcap,rview,rvim,s2p,sadf,sar,sar.sysstat,savelog,sbigtopgm,sccmap,scp,screen,screendump,screen-launcher,screen-profiles-status,script,scriptreplay,sdiff,search,searchd,see,select-editor,sendsms,sensible-browser,sensible-editor,sensible-pager,sensors,sensors-conf-convert,seq,service,setarch,setkeycodes,setleds,setlogcons,setmetamode,setpci,setsid,setterm,sftp,sg,sgitopnm,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum,shasum,showchar,showconsolefont,showkey,shred,shuf,sirtopnm,skill,slabtop,sldtoppm,slogin,smbcacls,smbclient,smbcquotas,smbget,smbpasswd,smbspool,smbtar,smbtree,smime_keys,snice,snmpbulkget,snmpbulkwalk,snmpconf,snmpdelta,snmpdf,snmpget,snmpgetnext,snmpinform,snmpkey,snmpnetstat,snmpset,snmpstatus,snmptable,snmptest,snmptranslate,snmptrap,snmpusm,snmpvacm,snmpwalk,soelim,solterm,sort,spctoppm,spelldump,splain,split,splitfont,sputoppm,ssh,ssh-add,ssh-agent,ssh-argv0,ssh-copy-id,sshfs,ssh-keygen,ssh-keyscan,ssh-vulnkey,st4topgm,stat,strace,stream,sudo,sudoedit,sum,svn,svnadmin,svnauthz-validate,svndumpfilter,svnlook,svnmucc,svn-populate-node-origins-index,svnserve,svnsync,svnversion,tabs,tac,tail,tap2deb,tap2rpm,tapconvert,tasksel,taskset,tbl,tee,telnet,telnet.netkit,test,testparm,testparm.samba3,tfmtodit,tgatoppm,thinkjettopbm,tic,tifftopnm,time,tload,toe,top,touch,tput,tr,tracepath,tracepath6,traceroute6,traceroute6.iputils,traptoemail,tred,trial,troff,truncate,tset,tsort,tty,twistd,twopi,tzselect,ubuntu-bug,ubuntu-support-status,ucf,ucfq,ucfr,ucs2any,ul,unattended-upgrade,unattended-upgrades,unexpand,unflatten,unicode_stop,uniq,unlink,unlzma,unshare,unzip,unzipsfx,update-alternatives,updatedb,updatedb.mlocate,update-mime-database,update-mime-database.real,update-pciids,update-perl-sax-parsers,uptime,usb-devices,users,uuidgen,vi,view,vim,vim.basic,vimdiff,vim.tiny,vimtutor,vmstat,volname,w,w3m,w3mman,wall,watch,wbmptopbm,wc,webalizer,webazolver,wftopfa,wget,whatis,whereis,which,whiptail,who,whoami,winicontoppm,wpa_passphrase,w.procps,write,www-browser,X11,x86_64,x86_64-linux-gnu-cpp,x86_64-linux-gnu-cpp-4.4,xargs,xauth,xbmtopbm,ximtoppm,xpmtoppm,xsubpp,xtotroff,xvminitoppm,xwdtopnm,xxd,ybmtopbm,yes,yuvsplittoppm,yuvtoppm,zabbix_get,zdump,zeisstopnm,zipgrep,zipinfo,zsoelim,,/usr/sbin/:,a2dismod,a2dissite,a2enmod,a2ensite,aa-audit,aa-autodep,aa-complain,aa-decode,aa-enforce,aa-genprof,aa-logprof,aa-status,aa-unconfined,ab,accessdb,addgroup,add-shell,adduser,apache2,apache2ctl,apparmor_status,arp,arpd,atd,audit,autodep,bacula-console,bacula-fd,bandwidthd,bcrelay,biosdecode,brctl,bsmtp,btraceback,chat,check_forensic,checkgid,chgpasswd,chpasswd,chroot,ck-log-system-restart,ck-log-system-start,ck-log-system-stop,complain,console-kit-daemon,cpgr,cppw,cron,cytune,dbconfig-generate-include,dbconfig-load-include,defoma-reconfigure,delgroup,deluser,dmidecode,dpkg-divert,dpkg-preconfigure,dpkg-reconfigure,dpkg-statoverride,e2freefrag,enforce,ethtool,exicyclog,exigrep,exim,exim4,exim_checkaccess,exim_convert4r4,exim_dbmbuild,exim_dumpdb,exim_fixdb,exim_lock,eximstats,exim_tidydb,exinext,exipick,exiqgrep,exiqsumm,exiwhat,fancontrol,fdformat,filefrag,genprof,gmetad,gmond,gnokiid,groupadd,groupdel,groupmod,grpck,grpconv,grpunconv,grub-install,grub-mkconfig,grub-mkdevicemap,grub-probe,grub-reboot,grub-set-default,grub-setup,gss_clnt_send_err,gss_destroy_creds,htcacheclean,httxt2dbm,iconvconfig,install-info,install-sgmlcatalog,invoke-rc.d,ip6tables-apply,ipmievd,iptables-apply,irqbalance,isadump,isaset,laptop-detect,ldattach,libgraphviz4-config-update,locale-gen,login.radius,logprof,logresolve,logrotate,lsusb,make-ssl-cert,mgnokiidev,mkinitramfs,mkinitramfs-kpkg,mklost+found,munin-node,munin-node-configure,munin-run,mysqld,mysqlmanager,nagios3,nagios3stats,newusers,nfsstat,nologin,ntop,ntpd,ntpdate,ntpdate-debian,openntpd,openvpn,openvpn-vulnkey,ownership,pam-auth-update,pam_getenv,paperconfig,popcon-largest-unused,popularity-contest,pppconfig,pppd,pppdump,pppoeconf,pppoe-discovery,pppstats,pptpctrl,pptpd,pwck,pwconv,pwmconfig,pwunconv,radacct,radexample,radlogin,radstatus,ramsize,rdev,readprofile,remove-shell,rmail,rmt,rmt-dump,rmt-tar,rootflags,rotatelogs,rpcdebug,rpc.gssd,rpc.idmapd,rsmtp,rsyslogd,rtcwake,runq,safe_finger,sendmail,sensors-detect,service,setvesablank,snmpd,snmptrapd,spine,split-logfile,sshd,syslog2eximlog,tcpd,tcpdchk,tcpdmatch,tcpdump,try-from,tunelp,tzconfig,ufw,unconfined,update-alternatives,update-bootsystem-insserv,update-ca-certificates,update-catalog,update-exim4.conf,update-exim4.conf.template,update-exim4defaults,update-fonts-alias,update-fonts-dir,update-fonts-scale,update-gdkpixbuf-loaders,update-grub,update-grub2,update-gtk-immodules,update-icon-caches,update-inetd,update-info-dir,update-initramfs,update-locale,update-mime,update-pangox-aliases,update-passwd,update-python-modules,update-rc.d,update-rc.d-insserv,update-usbids,update-xmlcatalog,upgrade-from-grub-legacy,useradd,userdel,usermod,uuidd,validlocale,vcstime,vidmode,vigr,vipw,visudo,vpddecode,vsftpd,xl2tpd,zabbix_server,zic 			, CentOS, Piranha, NFS, 				arch,awk,basename,bash,cat,cgclassify,cgcreate,cgdelete,cgexec,cgget,cgset,chgrp,chmod,chown,cp,cpio,cut,dash,date,dd,df,dmesg,dnsdomainname,domainname,dumpkeys,echo,egrep,env,ex,false,fgrep,find,gawk,grep,gtar,gunzip,gzip,hostname,ipcalc,iptables-xml,kbd_mode,kill,link,ln,loadkeys,login,ls,lscgroup,lssubsys,mkdir,mknod,mktemp,more,mount,mountpoint,mv,mybash,netstat,nice,nisdomainname,ping,ping6,plymouth,ps,pwd,raw,readlink,rm,rmdir,rpm,rvi,rview,sed,setfont,sh,shell.sh,sleep,sort,stty,su,sync,tar,taskset,touch,tracepath,tracepath6,true,umount,uname,unicode_start,unicode_stop,unlink,usleep,vi,view,ypdomainname,zcat,,/sbin/:,addpart,agetty,arp,arping,audispd,auditctl,auditd,aureport,ausearch,autrace,badblocks,blkid,blockdev,cbq,cfdisk,cgclear,cgconfigparser,cgrulesengd,chkconfig,clock,consoletype,crda,ctrlaltdel,debugfs,delpart,depmod,dracut,dumpe2fs,e2fsck,e2image,e2label,e2undo,ether-wake,ethtool,fdisk,findfs,fixfiles,fsck,fsck.cramfs,fsck.ext2,fsck.ext3,fsck.ext4,fsck.ext4dev,fsfreeze,fstab-decode,fuser,genhostid,getkey,grub,grubby,grub-install,grub-md5-crypt,grub-terminfo,halt,hwclock,ifcfg,ifconfig,ifdown,ifenslave,ifrename,ifup,init,initctl,insmod,insmod.static,install-info,installkernel,ip,ip6tables,ip6tables-multi,ip6tables-restore,ip6tables-save,ipmaddr,iptables,iptables-multi,iptables-restore,iptables-save,iptunnel,iw,iwconfig,iwevent,iwgetid,iwlist,iwpriv,iwspy,killall5,ldconfig,load_policy,logsave,losetup,lsinitrd,lsmod,lspci,MAKEDEV,matchpathcon,mii-diag,mii-tool,mingetty,mke2fs,mkfs,mkfs.cramfs,mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.ext4dev,mkhomedir_helper,mkinitrd,mkswap,modinfo,modprobe,mount.nfs,mount.nfs4,mount.tmpfs,nameif,netreport,new-kernel-pkg,nologin,pam_console_apply,pam_tally2,pam_timestamp_check,partx,pidof,pivot_root,plipconfig,plymouthd,poweroff,ppp-watch,rdisc,reboot,regdbdump,reload,resize2fs,restart,restorecon,rmmod,route,rpcbind,rpc.statd,rsyslogd,rtmon,runlevel,runuser,scsi_id,securetty,service,setfiles,setpci,setregdomain,setsysfont,sfdisk,shutdown,slattach,sln,start,start_udev,status,stop,sulogin,sushell,swapoff,swapon,switch_root,sysctl,tc,telinit,tune2fs,udevadm,udevd,umount.nfs,umount.nfs4,unix_chkpwd,unix_update,weak-modules,wipefs 			, 				a2p,ab,aclocal,aclocal-1.11,addftinfo,addr2line,airdaemon,apropos,ar,as,attr,aulast,aulastlog,ausyscall,autoconf,autoheader,autom4te,automake,automake-1.11,autoreconf,autoscan,autoupdate,awk,base64,bashbug-64,berkeley_db_svc,bunzip2,bzcat,bzcmp,bzdiff,bzgrep,bzip2,bzip2recover,bzless,bzmore,c++,c2ph,c89,c99,cal,captoinfo,catchsegv,cc,c++filt,chacl,chage,chattr,chcon,checkmodule,checkpolicy,chfn,chrt,chsh,chvt,cjpeg,cksum,clear,cloog,cmp,col,colcrt,colrm,column,comm,consolehelper,convertcfg,cpp,crontab,csplit,curl,curl-config,cut,cxpm,db_archive,db_checkpoint,db_codegen,db_deadlock,db_dump,db_dump185,db_hotbackup,db_load,db_printlog,db_recover,db_stat,db_upgrade,dbus-binding-tool,db_verify,ddate,deallocvt,diff,diff3,dir,dircolors,dirname,djpeg,dprofpp,du,env,eqn,eqn2graph,erb,ex,expand,expr,factor,faillog,fallocate,fc-cache,fc-cat,fc-list,fc-match,fc-query,fc-scan,fgconsole,file,filedaemon,find,find2perl,fipscheck,fipshmac,flock,floppy,fmt,fold,free,freetype-config,funzip,g++,gawk,gcc,gcov,gdlib-config,gem,gencat,geqn,getconf,getent,getfacl,getfattr,getkeycodes,getopt,gindxbib,glookbib,gmake,gneqn,gnroff,gpasswd,gpg,gpg2,gpg-agent,gpgconf,gpg-connect-agent,gpg-error,gpgkey2ssh,gpgparsemail,gpgsplit,gpgv,gpgv2,gpg-zip,gpic,gprof,grefer,grn,grodvi,groff,groffer,grog,grolbp,grolj4,grops,grotty,groups,gsoelim,gtbl,gtroff,gunzip,gzexe,gzip,h2ph,halt,head,hexdump,hostid,hpftodit,htdbm,htdigest,htpasswd,i386,iconv,id,idn,ifnames,igawk,indxbib,info,infocmp,infokey,infotocap,install,ionice,ipcmk,ipcrm,ipcs,ipmicmd,ipmilan,ipmish,ipmitool,ipmi_ui,irb,isosize,join,jpegtran,kbdrate,kill,killall,last,lastb,lastlog,lchfn,lchsh,ld,ldd,less,lessecho,lesskey,lesspipe.sh,libpng12-config,libpng-config,linux32,linux64,lkbib,loadunimap,locale,localedef,logger,logname,logresolve,look,lookbib,lsattr,lscpu,lua,luac,lzcat,lzcmp,lzdiff,lzegrep,lzfgrep,lzgrep,lzless,lzma,lzmadec,lzmainfo,lzmore,m4,mailq,mailq.postfix,make,man,man2html,manpath,mapscrn,mbchk,mcookie,md5sum,mesg,mini_epn,mkfifo,nagios,nagiostats,namei,neqn,net-snmp-create-v3-user,newaliases,newaliases.postfix,newgrp,new_mini_epn,nl,nm,nohup,nproc,nroff,ntpstat,objcopy,objdump,od,oldfind,open,openipmicmd,openipmish,openssl,openvt,p1.pl,passwd,paste,pathchk,pcregrep,pcretest,peekfd,perl,perl5.10.1,perlbug,perldoc,perlthanks,pfbtops,pgawk,pgrep,phar,phar.phar,php,php-cgi,pic,pic2graph,piconv,pinentry,pinentry-curses,pinky,pkg-config,pkill,pl2pm,plymouth,pmap,pod2html,pod2latex,pod2man,pod2text,pod2usage,podchecker,podselect,post-grohtml,poweroff,ppl-config,pr,pre-grohtml,printenv,printf,protoize,psed,psfaddtable,psfgettable,psfstriptable,psfxtable,pstree,pstree.x11,pstruct,ptx,pwdx,pydoc,python,python2,python2.6,ranlib,rb,rdjpgcom,rdoc,readelf,readlink,reboot,refer,rename,renice,reset,resizecons,rev,rhgb-client,ri,rmail,rmail.postfix,rmcp_ping,rpcgen,rpm2cpio,rpmdb,rpmquery,rpmsign,rpmverify,rsync,ruby,runcon,run-parts,rvim,rx,rz,s2p,sb,scp,script,scriptreplay,sdiff,secon,sedismod,sedispol,semodule_deps,semodule_expand,semodule_link,semodule_package,seq,sequel,setarch,setfacl,setfattr,setkeycodes,setleds,setmetamode,setsid,setterm,setup-nsssysinit.sh,sftp,sg,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum,showconsolefont,showkey,shred,shuf,size,skill,slabtop,slogin,snice,snmpconf,snmpkey,soelim,solterm,splain,split,sprof,sqlite3,ssh,ssh-add,ssh-agent,ssh-copy-id,ssh-keygen,ssh-keyscan,stat,stdbuf,strings,strip,sudo,sudoedit,sum,sx,sxpm,system-config-network,system-config-network-cmd,sz,tabs,tac,tail,tailf,tbl,tee,telnet,test,testrb,tfmtodit,tic,time,timeout,tload,toe,top,tput,tr,troff,truncate,tset,tsort,tty,tzselect,ul,unexpand,uniq,unlzma,unprotoize,unshare,unxz,unzip,unzipsfx,uptime,urlgrabber,users,utmpdump,uuidgen,vdir,vim,vimdiff,vimtutor,vmstat,w,wall,watch,watchgnupg,wc,wget,whatis,whereis,which,whiptail,who,whoami,write,wrjpgcom,x86_64,x86_64-redhat-linux-c++,x86_64-redhat-linux-g++,x86_64-redhat-linux-gcc,xargs,xml2-config,xmlcatalog,xmllint,xmlwf,xxd,xz,xzcat,xzcmp,xzdec,xzdiff,xzegrep,xzfgrep,xzgrep,xzless,xzmore,yaf,yafcollect,yafscii,yes,yum,zcmp,zdiff,zegrep,zfgrep,zforce,zgrep,zip,zipcloak,zipgrep,zipinfo,zipnote,zipsplit,zless,zmore,znew,zsoelim,,/usr/sbin/:,addgnupghome,adduser,alternatives,anacron,apachectl,applygnupgdefaults,arpd,arping,authconfig,authconfig-tui,avcstat,build-locale-archive,cacertdir_rehash,capsh,chpasswd,chroot,clockdiff,cracklib-check,cracklib-format,cracklib-packer,cracklib-unpacker,create-cracklib-dict,crond,e2freefrag,efibootmgr,ethtool,exportfs,fdformat,filefrag,fping,fping6,genhomedircon,getcap,getenforce,getpcaps,getsebool,glibc_post_upgrade.x86_64,groupadd,groupdel,groupmems,groupmod,grpck,grpconv,grpunconv,gss_clnt_send_err,gss_destroy_creds,htcacheclean,httpd,httpd.event,httpd.worker,httxt2dbm,hwclock,iconvconfig,iconvconfig.x86_64,ipmievd,lchage,ldattach,lgroupadd,lgroupdel,lgroupmod,libgcc_post_upgrade,lid,lnewusers,lnstat,load_policy,logrotate,lokkit,lpasswd,lsof,luseradd,luserdel,lusermod,makewhatis,matchpathcon,mkdict,mklost+found,mksock,mountstats,newusers,nfsiostat,nfsstat,nrpe,nstat,ntpd,ntpdate,ntpdc,ntp-keygen,ntpq,ntptime,open_init_pty,packer,pethtool,pifconfig,ping6,pluginviewer,plymouth-set-default-theme,postalias,postcat,postconf,postdrop,postfix,postkick,postlock,postlog,postmap,postmulti,postqueue,postsuper,pwck,pwconv,pwunconv,readprofile,restorecond,rotatelogs,rpcdebug,rpc.gssd,rpc.idmapd,rpcinfo,rpc.mountd,rpc.nfsd,rpc.svcgssd,rtacct,rtcwake,run_init,saslauthd,sasldblistusers2,saslpasswd2,selinuxconlist,selinuxdefcon,selinuxenabled,semodule,sendmail,sendmail.postfix,sestatus,setcap,setenforce,setsebool,showmount,sm-notify,smtp-sink,smtp-source,snmpd,snmptrapd,ss,sshd,start-statd,suexec,system-config-network,system-config-network-cmd,system-config-network-tui,sys-unconfig,tcpdump,tcpslice,testsaslauthd,tickadj,togglesebool,tracepath,tracepath6,tunelp,tzdata-update,update-alternatives,update-pciids,useradd,userdel,userhelper,usermod,usernetctl,vigr,vipw,visudo,zdump,zic 			" /><link rel="home" href="../index.html" title="Netkiller Linux 手札" /><link rel="up" href="index.html" title="第 112 章 Gitlab 项目管理" /><link rel="prev" href="index.html" title="第 112 章 Gitlab 项目管理" /><link rel="next" href="gitlab.project.html" title="112.3. 项目管理" /></head><body><a xmlns="" href="//www.netkiller.cn/">Home</a> | <a xmlns="" href="//netkiller.github.io/">简体中文</a> | <a xmlns="" href="http://netkiller.sourceforge.net/">繁体中文</a> | <a xmlns="" href="/journal/index.html">杂文</a>
| <a xmlns="" href="https://github.com/netkiller">Github</a> | <a xmlns="" href="https://zhuanlan.zhihu.com/netkiller">知乎专栏</a> | <a xmlns="" href="https://www.facebook.com/bg7nyt">Facebook</a> | <a xmlns="" href="http://cn.linkedin.com/in/netkiller/">Linkedin</a> | <a xmlns="" href="https://www.youtube.com/user/bg7nyt/videos">Youtube</a> | <a xmlns="" href="//www.netkiller.cn/home/donations.html">打赏(Donations)</a> | <a xmlns="" href="//www.netkiller.cn/home/about.html">About</a><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">112.2. 初始化 Gitlab</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">上一页</a> </td><th width="60%" align="center">第 112 章 Gitlab 项目管理</th><td width="20%" align="right"> <a accesskey="n" href="gitlab.project.html">下一页</a></td></tr></table><hr /></div><table xmlns=""><tr><td><iframe src="//ghbtns.com/github-btn.html?user=netkiller&repo=netkiller.github.io&type=watch&count=true&size=large" height="30" width="170" frameborder="0" scrolling="0" style="width:170px; height: 30px;" allowTransparency="true"></iframe></td><td><iframe src="//ghbtns.com/github-btn.html?user=netkiller&repo=netkiller.github.io&type=fork&count=true&size=large" height="30" width="170" frameborder="0" scrolling="0" style="width:170px; height: 30px;" allowTransparency="true"></iframe></td><td><iframe src="//ghbtns.com/github-btn.html?user=netkiller&type=follow&count=true&size=large" height="30" width="240" frameborder="0" scrolling="0" style="width:240px; height: 30px;" allowTransparency="true"></iframe></td><td></td><td><a href="https://zhuanlan.zhihu.com/netkiller"><img src="/images/logo/zhihu-card-default.svg" height="25" /></a></td><td valign="middle"><a href="https://zhuanlan.zhihu.com/netkiller">知乎专栏</a></td><td></td><td></td><td></td><td></td></tr></table><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="gitlab.init"></a>112.2. 初始化 Gitlab</h2></div></div></div>
<p>Gitlab 安装完成之后,我们需要对它做一个初始化操作。</p>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="id2493"></a>112.2.1. 操作系统初始化</h3></div></div></div>
<p>CentOS 8 / Rockey 8.5 初始化脚本</p>
<pre class="screen">
dnf -y upgrade
dnf -y install epel-release
dnf install -y bzip2 tree psmisc \
telnet wget rsync vim-enhanced \
net-tools bind-utils
timedatectl set-timezone Asia/Shanghai
dnf install -y langpacks-en glibc-langpack-en
localectl set-locale LANG=en_US.UTF-8
cat >> /etc/environment <<EOF
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
LC_CTYPE=UTF-8
EOF
cat >> /etc/profile.d/history.sh <<EOF
# Administrator specific aliases and functions for system security
export HISTSIZE=10000
export HISTFILESIZE=10000
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
export TIME_STYLE=long-iso
EOF
source /etc/profile.d/history.sh
cp /etc/selinux/config{,.original}
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce Permissive
cat >> /etc/sysctl.conf <<EOF
# Netkiller
net.ipv4.ip_local_port_range = 1025 65500
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_time = 1800
net.core.netdev_max_backlog=3000
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_max_tw_buckets = 4096
net.core.somaxconn = 1024
# TCP BBR
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF
sysctl -p
cat > /etc/security/limits.d/20-nofile.conf <<EOF
* soft nofile 65535
* hard nofile 65535
EOF
groupadd -g 80 www
adduser -o --uid 80 --gid 80 -G wheel -c "Web Application" www
</pre>
<div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="id2489"></a>112.2.1.1. gitlab-runner</h4></div></div></div>
<pre class="screen">
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash
dnf install -y gitlab-runner
cp /etc/gitlab-runner/config.toml{,.original}
systemctl enable gitlab-runner
</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="id2490"></a>112.2.1.2. Docker</h4></div></div></div>
<pre class="screen">
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce
systemctl enable docker
systemctl start docker
GID=$(egrep -o 'docker:x:([0-9]+)' /etc/group | egrep -o '([0-9]+)')
adduser -u ${GID} -g ${GID} -G wheel -c "Container Administrator" docker
usermod -aG docker www
usermod -aG docker gitlab-runner
usermod -aG www gitlab-runner
dnf remove -y python36
dnf install -y python39
pip3 install docker-compose netkiller-devops
</pre>
<p>Mirror</p>
<pre class="screen">
cat << EOF > /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com",
"https://registry.cn-hangzhou.aliyuncs.com",
"http://hub-mirror.c.163.com"
]
}
EOF
</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="id2491"></a>112.2.1.3. Java 环境 安装脚本</h4></div></div></div>
<pre class="screen">
dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel maven
</pre>
<p>最新版 3.8.4 安装脚本</p>
<pre class="screen">
cd /usr/local/src/
wget https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz
tar zxf apache-maven-3.8.4-bin.tar.gz
mv apache-maven-3.8.4 /srv/
rm -f /srv/apache-maven
ln -s /srv/apache-maven-3.8.4 /srv/apache-maven
alternatives --remove mvn /usr/share/maven/bin/mvn
alternatives --install /usr/local/bin/mvn apache-maven-3.8.4 /srv/apache-maven-3.8.4/bin/mvn 0
cp /srv/apache-maven/conf/settings.xml{,.original}
vim /srv/apache-maven/conf/settings.xml <<end > /dev/null 2>&1
:158,158d
:164,164s/$/ -->/
:wq
end
mvn -v
</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="id2492"></a>112.2.1.4. Node 环境</h4></div></div></div>
<p>默认安装</p>
<pre class="screen">
dnf install -y nodejs
npm config set registry https://registry.npm.taobao.org
npm install -g cnpm
</pre>
<p>官网最新版</p>
<pre class="screen">
dnf remove -y nodejs
cd /usr/local/src
wget https://nodejs.org/dist/v16.13.1/node-v16.13.1-linux-x64.tar.xz
tar xf node-v16.13.1-linux-x64.tar.xz
mv node-v16.13.1-linux-x64 /srv/node-v16.13.1
rm -f /srv/node
ln -s /srv/node-v16.13.1 /srv/node
alternatives --install /usr/local/bin/node node /srv/node/bin/node 100 \
--slave /usr/local/bin/npm npm /srv/node/bin/npm \
--slave /usr/local/bin/npx npx /srv/node/bin/npx \
--slave /usr/local/bin/corepack corepack /srv/node/bin/corepack
node -v
</pre>
<p></p>
<pre class="screen">
dnf remove -y nodejs
cd /usr/local/src
wget https://nodejs.org/dist/v17.2.0/node-v17.2.0-linux-x64.tar.xz
tar xf node-v17.2.0-linux-x64.tar.xz
mv node-v17.2.0-linux-x64 /srv/node-v17.2.0
rm -f /srv/node
ln -s /srv/node-v17.2.0 /srv/node
alternatives --install /usr/local/bin/node node /srv/node/bin/node 100 \
--slave /usr/local/bin/npm npm /srv/node/bin/npm \
--slave /usr/local/bin/npx npx /srv/node/bin/npx \
--slave /usr/local/bin/corepack corepack /srv/node/bin/corepack
node -v
</pre>
</div>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="gitlab.user"></a>112.2.2. 创建用户</h3></div></div></div>
<p>初始化GitLab,进入Admin area,单击左侧菜单Users,在这里为gitlab添加用户</p>
<div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="user"></a>112.2.2.1. 创建用户</h4></div></div></div>
<div class="procedure"><a id="id21953"></a><p class="title"><strong>过程 112.1. 企业内部使用的 Gitlab 初始化</strong></p><ol class="procedure" type="1"><li class="step">
<p>关闭在线用户注册</p>
</li><li class="step">
<p>Step 3.</p>
<ol type="a" class="substeps">
<li class="step">
<p>Substep a.</p>
</li>
<li class="step">
<p>Substep b.</p>
</li>
</ol>
</li></ol></div>
</div>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="gitlab.group"></a>112.2.3. 初始化组</h3></div></div></div>
<p>为什么要使用组?</p>
<p>组可以共享标记、里程碑、议题、会员权限和Gitlab Runner 执行器,如果不实用组,就只能一个项目一个项目的去配置。</p>
<p>初始化GitLab组,我比较喜欢使用“域名”作为组名,例如example.com</p>
<p>下面是创建组与项目的具体操作步骤</p>
<div class="procedure"><a id="id21970"></a><p class="title"><strong>过程 112.2. Gitlab 初始化 - 创建组</strong></p><ol class="procedure" type="1"><li class="step">
<p>点击 New Group 按钮新建一个组,我习惯每个域一个组,所以我使用 netkiller.cn 作为组名称
</p>
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="NaN"><tr><td><img src="../images/gitlab/group.png" width="NaN" /></td></tr></table></div>
</li><li class="step">
<p>输入 netkiller.cn 然后单击 Create group</p>
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="NaN"><tr><td><img src="../images/gitlab/group.new.png" width="NaN" /></td></tr></table></div>
</li><li class="step">
<p>组创建完毕</p>
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="NaN"><tr><td><img src="../images/gitlab/groups.png" width="NaN" /></td></tr></table></div>
</li></ol></div>
<p>创建组后接下来创建项目</p>
<p>创建项目,我通常会在组下面创建项目,每个域名对应一个项目,例如www.example.com,images.example.com</p>
<p>版本库URL如下</p>
<pre class="screen">
http: http://192.168.0.1/example.com/www.example.com.git
ssh: git@192.168.0.1:example.com/www.example.com.git
</pre>
<div class="procedure"><a id="id21985"></a><p class="title"><strong>过程 112.3. Gitlab 初始化 - 创建项目</strong></p><ol class="procedure" type="1"><li class="step">
<p>单击 New Project 创建项目</p>
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="NaN"><tr><td><img src="../images/gitlab/projects.png" width="NaN" /></td></tr></table></div>
</li><li class="step">
<p>输入 www.netkiller.cn 并点击 Create project 按钮创建项目</p>
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="NaN"><tr><td><img src="../images/gitlab/projects.new.png" width="NaN" /></td></tr></table></div>
</li><li class="step">
<p>项目创建完毕</p>
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="NaN"><tr><td><img src="../images/gitlab/projects.created.png" width="NaN" /></td></tr></table></div>
</li></ol></div>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="id2494"></a>112.2.4. 初始化标签</h3></div></div></div>
<p>参考 github 设置</p>
<div class="literallayout"><p><br />
<br />
bug Something isn't working<br />
documentation Improvements or additions to documentation<br />
duplicate This issue or pull request already exists<br />
enhancement New feature or request<br />
good first issue Good for newcomers<br />
help wanted Extra attention is needed<br />
invalid This doesn't seem right<br />
question Further information is requested<br />
wontfix This will not be worked on<br />
<br />
</p></div>
<p></p>
<p>通常定义四个状态,开发,测试,升级,完成</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="gitlab.branch"></a>112.2.5. 初始化分支</h3></div></div></div>
<p>起初我们应对并行开发在Subversion上创建分支,每个任务一个分支,每个Bug一个分支,完成任务或修复bug后合并到开发分支(development)内部测试,然后再进入测试分支(testing)提交给测试组,测试组完成测试,最后进入主干(trunk)。对于Subverion来说每一个分支都是一份拷贝,SVN版本库膨胀的非常快。
</p>
<p>Git 解决了Svn 先天不足的分支管理功能,分支在GIT类似快照,同时GIT还提供了 pull request 功能。
</p>
<p>我们怎样使用git 的分支功能呢? 首先我们不再为每个任务创建一个分支,将任务分支放在用户自己的仓库下面,通过 pull
request 合并,同时合并过程顺便code review。
</p>
<p>master:是主干,只有开发部主管/经理级别拥有权限,只能合并来自testing的代码</p>
<p>testing: 测试分支,测试部拥有权限,此分支不能修改,只能从开发分支合并代码。</p>
<p>development:开发组的分支,Team拥有修改权限,可以合并,可以接受pull request, 可以提交代码</p>
<p>tag 是 Release 本版,开发部主管/经理拥有权限</p>
<p>分支的权限管理:</p>
<p>master: 保护 </p>
<p>testing:保护 </p>
<p>development:保护 </p>
<div class="procedure"><a id="id22014"></a><p class="title"><strong>过程 112.4. Gitlab 分支应用 - 创建分支</strong></p><ol class="procedure" type="1"><li class="step">
<p>首先,点击左侧 Commits 按钮,然后点击 Branches 按钮进入分支管理</p>
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="NaN"><tr><td><img src="../images/gitlab/branches.png" width="NaN" /></td></tr></table></div>
</li><li class="step">
<p>点击 New branch 创建分支</p>
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="NaN"><tr><td><img src="../images/gitlab/branches.new.png" width="NaN" /></td></tr></table></div>
<p>在 Branch name 中输入分支名称,然后点击 Create branch 创建分支 </p>
</li><li class="step">
<p>分支已经创建</p>
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="NaN"><tr><td><img src="../images/gitlab/branches.created.png" width="NaN" /></td></tr></table></div>
</li></ol></div>
<p>重复上面步骤,完成development分支的创建。</p>
<p>保护分支:锁定分支,只允允许合并,不允许提交</p>
<div class="procedure"><a id="id22028"></a><p class="title"><strong>过程 112.5. 保护分支</strong></p><ol class="procedure" type="1"><li class="step">
<p>master</p>
<p>testing</p>
</li><li class="step">
<p>Step 2.</p>
<ol type="a" class="substeps">
<li class="step">
</li>
<li class="step">
<p>Substep b.</p>
</li>
</ol>
</li></ol></div>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="部署环境"></a>112.2.6. 部署环境</h3></div></div></div>
</div>
</div><script xmlns="" type="text/javascript" id="clustrmaps" src="//cdn.clustrmaps.com/map_v2.js?u=r5HG&d=9mi5r_kkDC8uxG8HuY3p4-2qgeeVypAK9vMD-2P6BYM"></script><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">上一页</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">上一级</a></td><td width="40%" align="right"> <a accesskey="n" href="gitlab.project.html">下一页</a></td></tr><tr><td width="40%" align="left" valign="top">第 112 章 Gitlab 项目管理 </td><td width="20%" align="center"><a accesskey="h" href="../index.html">起始页</a></td><td width="40%" align="right" valign="top"> 112.3. 项目管理</td></tr></table></div><script xmlns="">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-11694057-1', 'auto');
ga('send', 'pageview');
</script><script xmlns="" async="async">
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?93967759a51cda79e49bf4e34d0b0f2c";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script><script xmlns="" async="async">
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script></body></html>