概述

本帖针对Centos6/REHL6系统
Gitlab的安装过程主要包括以下组件的配置:

  • 关闭selinux

#修改/etc/selinux/config文件
将SELINUX=enforcing改为SELINUX=disabled,然后重启电脑
#sestatus-v
查看selinux状态
Currentmode:permissive#说明已关闭selinux
  • 安装软件包及版本要求

  • Ubuntu/Debian/CentOS/RHEL**

  • ruby 2.0+

  • git 1.7.10+

  • redis 2.0+

  • MysqL or Postgresql


1.安装软件包及解决依赖项

添加EPEL源:

wget-O/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6https://mirrors.tuna.tsinghua.edu.cn/epel/RPM-GPG-KEY-EPEL-6
rpm--import/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
#安装`epel-release-latest-6.noarch.rpm`包,启用EPEL
rpm-Uvhhttp://mirrors.ustc.edu.cn/epel/epel-release-latest-6.noarch.rpm
yumgroupinstall"Developmenttools"
yuminstallautoconfautomakebisonbuild-essentialbyacccheckinstallcmakecpiocrontabscurlcurl-develdb4-develexpat-develgcc-c++gdbm-develgettextgettext-develglibc-devellibcurl4-openssl-devlibexpat1-devlibffilibffi-devlibffi-devellibgdbm-devlibiculibicu-devlibicu-devellibkrb5-devlibncurses5-devlibreadline-devlibssl-devlibtoollibxml2libxml2-devlibxml2-devellibxsltlibxslt-devlibxslt-devellibyamllibyaml-devlibyaml-devellibz-devlogrotatelogwatchmakencurses-developenssh-serveropenssl-develpatchpcre-develperl-ExtUtils-CBuilderperl-ExtUtils-MakeMakerperl-Time-HiRespkg-configpostfixpython-develpython-docutilsreadlinereadline-develsqlite-develsudosystem-config-firewall-tuitcl-develvimwgetzlib1g-devzlib-devel

安装git
如果已经用yum安装过git,要先卸载掉旧的版本

yumremovegit

使用源码编译安装git

mkdir/tmp/git&&cd/tmp/git
curl-O--progresshttps://www.kernel.org/pub/software/scm/git/git-2.8.5.tar.gz
tarzxvfgit-2.8.5.tar.gz
cdgit-2.8.5
./configure
makeprefix=/usr/localall
#安装到/usr/local/bin
sudomakeprefix=/usr/localinstall
#验证git版本号
git--version
#创建软连接
ln-s/usr/local/bin/git/usr/bin/git

2.添加系统用户

我们添加一个用来管理运行Gitlab的用户git

adduser--system--shell/bin/bash--comment'GitLab'--create-home--home-dir/home/git/git
#修改git用户的环境变量PATH,以root用户运行
visudo
#找到下面一行
Defaultssecure_path=/sbin:/bin:/usr/sbin:/usr/bin
#修改为
Defaultssecure_path=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

3.安装ruby环境

在Gitlab生产环境使用Ruby版本管理工具RVM,rbenv或者chruby常常会带来很多疑难杂症.比如Gitlab-shell版本管理器调用OpenSSH的功能以防止越过ssh对仓库进行pull和push操作.而前面提到的三个版本管理器不支持这样的功能,所以我们强烈建议大家按照下面的方式来安装Ruby.

Note: The current supported Ruby (MRI) version is 2.3.x. GitLab 9.0 dropped

support for Ruby 2.1.x.

  1. 如果系统上存在旧的Ruby1.8,先删除掉:

yumremoveruby
  1. 下载Ruby源码,编译安装:

mkdir/tmp/ruby&&cd/tmp/ruby
#这里替换官方文档的下载地址为mirrors.ustc.edu.cn提供的镜像地址
curl-O--progresshttps://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz
tarzxvfruby-2.1.5.tar.gz
cdruby-2.1.5
./configure--disable-install-rdoc
make
sudomakeinstall
安装完成后,重新登录终端确保$PATH生效,检测ruby的安装成功与否:
ruby-v
ln-s/usr/local/bin/ruby/usr/bin/ruby


  1. 国内使用Ruby的Gem和Bundler必须要做的事情:

#修改git用户gem安装源为淘宝
gemsources--addhttps://ruby.taobao.org/--removehttps://rubygems.org/
#确保git用户当前gems源为淘宝
gemsources-l
***CURRENTSOURCES***

备:gems源中科大:https://gems.ruby-china.org/
  1. 安装bundle包(root用户)

sudogeminstallbundler--no-ri--no-rdoc


4-1.安装数据库-MysqL

安装MysqL数据库,设置数据库管理员密码

#下载yum仓库文件:
wgethttp://dev.MysqL.com/get/MysqL-community-release-el6-5.noarch.rpm
#下载完成后将Yum库导入到你的本地:
sudoyumlocalinstallMysqL-community-release-el6-*.noarch.rpm
#安装MysqLServer:
yuminstallMysqL-serverMysqL-develMysqL-clientlibMysqLclient-dev
#启动MysqL服务
/etc/init.d/MysqLdstart
#MysqL安全配置向导
MysqL_secure_installation
---------------------------------------------------------------------------------
Entercurrentpasswordforroot(enterfornone):<�C初次运行直接回车
Setrootpassword?[Y/n]<�C是否设置root用户密码,输入y并回车或直接回车
Removeanonymoususers?[Y/n]<�C是否删除匿名用户,生产环境建议删除,所以直接回车
disallowrootloginremotely?[Y/n]<�C是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止
Removetestdatabaseandaccesstoit?[Y/n]<�C是否删除test数据库,直接回车
ReloadprivilegetablesNow?[Y/n]<�C是否重新加载权限表,直接回车

创建新用户和数据库给gitlab使用

#登录数据库
$MysqL-uroot-p
#输入root密码
#为gitlab创建使用用户
MysqL>createuser'gitlab'@'localhost'IDENTIFIEDBY'gitlab账号的密码';
#创建gitlaba使用的数据库
MysqL>CREATEDATABASEIFNOTEXISTS`gitlabhq_production`DEFAULTCHaraCTERSET`utf8`COLLATE`utf8_unicode_ci`;
#给予gitlab用户权限
MysqL>GRANTSELECT,LOCKTABLES,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTERON`gitlabhq_production`.*TO'git'@'localhost'IDENTIFIEDBY'gitpasswd';
#刷新权限
MysqL>flushprivileges;
#查看创建的用户
MysqL>selectuser,host,passwordfromMysqL.user;
#测试新建的用户能否登陆MysqL
MysqL-ugit-p-hlocalhost
MysqL>showdatabases;
+---------------------+
|Database|
+---------------------+
|information_schema|
|gitlabhq_production|
+---------------------+
2rowsinset(0.00sec)

4-2.安装数据库-Postgresql

配置postgresql安装源:
https://wiki.postgresql.org/wiki/YUM_Installation#Configure_your_YUM_repository

#修改/etc/yum.repos.d/CentOS-Base.repo,在[base]和[update]段落添加下面的配置
exclude=postgresql*
#安装postgresql源
yumlocalinstallhttp://mirrors.ustc.edu.cn/postgresql/repos/yum/9.5/redhat/rhel-6-x86_64/pgdg-centos95-9.5-3.noarch.rpm
#yumlocalinstallhttp://mirrors.ustc.edu.cn/postgresql/repos/yum/9.2/redhat/rhel-6-x86_64/pgdg-redhat92-9.2-8.noarch.rpm
#安装postgresql
yuminstallpostgresql95-serverpostgresql95-develpostgresql95-contrib
#默认情况下,postgresql的数据库文件存放在
/var/lib/pgsql/9.5/data

#初始化
mv/etc/init.d/{postgresql-9.5,postgresql}
servicepostgresqlinitdb
#启动postgresql
servicepostgresqlstart
#配置postgresql自启动
chkconfigpostgresqlon

#为Gitlab创建一个用户,用户名为git
cd/home
sudo-upostgrespsql-dtemplate1-c"createusergitCREATEDB;"
#创建pg_trgm扩展(requiredforGitLab8.6+):
sudo-upostgrespsql-dtemplate1-c"CREATEEXTENSIONIFNOTEXISTSpg_trgm;"
#创建Gitlab生产环境数据库并赋予git用户属主权限
sudo-upostgrespsql-dtemplate1-c"CREATEDATABASEgitlabhq_productioNowNERgit;"
#用git用户测试下是否能登录刚才创建的数据库
sudo-ugit-Hpsql-dgitlabhq_production
#检查是否启用pg_trgm扩展:
SELECTtrueASenabled
FROMpg_available_extensions
WHEREname='pg_trgm'
ANDinstalled_versionISNOTNULL;
如果启用了扩展,这将产生以下输出:
enabled
---------
t
(1row)
#退出数据库会话
gitlabhq_production>\q

#创建pg_config的软连接
ln-s/usr/pgsql-9.5/bin/pg_config/usr/bin/pg_config

5.配置Redis

#此处redis是yum安装,为了省事。
yuminstall-yredis

#disableRedislisteningonTCPbysetting'port'to0
sed's/^port.*/port0/'/etc/redis/redis.conf.orig|sudotee/etc/redis/redis.conf

#添加redis.sock文件信息
echo'unixsocket/var/run/redis/redis.sock'|tee-a/etc/redis.conf
echo-e'unixsocketperm0770'|tee-a/etc/redis.conf

#创建文件并赋予权限
mkdir-p/var/run/redis
sudochownredis:redis/var/run/redis
sudochmod755/var/run/redis

#Persistthedirectorywhichcontainsthesocket,ifapplicable
if[-d/etc/tmpfiles.d];then
echo'd/var/run/redis0755redisredis10d-'|sudotee-a/etc/tmpfiles.d/redis.conf
fi

#将redis用户添加到git组
sudousermod-aGredisgit

#配置redis使其在开机时启动:
sudochkconfigredison
sudoserviceredisstart

6.安装GitLab

#将GitLab安装在git的家目录下:
cd/home/git/
sudo-ugit-Hgitclonehttps://gitlab.com/gitlab-org/gitlab-ce.git-b7-6-stablegitlab
cd/home/git/gitlab

#复制gitlab.yml(Gitlab的主配置文件)
sudo-ugit-Hcpconfig/gitlab.yml.exampleconfig/gitlab.yml

#修改gitlab.yml
sudo-ugit-Hvimconfig/gitlab.yml
host:localhost为####修改第32行你的域名或者ip
port:80
https:false

#修改log/和tmp/文件夹权限
sudochown-Rgitlog/
sudochown-Rgittmp/
sudochmod-Ru+rwX,go-wlog/
sudochmod-Ru+rwXtmp/

#创建文件夹gitlab-satellites
sudo-ugit-Hmkdir/home/git/gitlab-satellites
sudochmodu+rwx,g=rx,o-rwx/home/git/gitlab-satellites

#修改tmp/pids/和tmp/sockets/文件夹权限
sudochmod-Ru+rwXtmp/pids/
sudochmod-Ru+rwXtmp/sockets/

#创建public/uploads/文件夹
sudo-ugit-Hmkdirpublic/uploads/

#修改public/uploads/文件夹权限,只有git用户有访问权限
sudochmod-Ru+rwXpublic/uploads

#复制Unicorn配置文件
sudo-ugit-Hcpconfig/unicorn.rb.exampleconfig/unicorn.rb

#查询cpu核心数
nproc

#如果你想搭建一个高负载的Gitlab实例,可启用集群模式.
#修改'worker_processes'参数,至少要跟cpu核心数一样.
#修改监听地址和端口,要和下文gitlab-shell/config.yml中配置一致
sudo-ugit-Hvimconfig/unicorn.rb
worker_processes3
listen"your_IP:8080",:tcp_nopush=>true

#复制Rackattack配置文件
sudo-ugit-Hcpconfig/initializers/rack_attack.rb.exampleconfig/initializers/rack_attack.rb

#为git用户配置用户和邮件

sudo-ugit-Hgitconfig--globaluser.name"GitLab"
sudo-ugit-Hgitconfig--globaluser.email"example@example.com"

#'autocrlf'需要Web编辑器
sudo-ugit-Hgitconfig--globalcore.autocrlfinput

#复制Redis连接配置文件
sudo-ugit-Hcpconfig/resque.yml.exampleconfig/resque.yml

#如修改过redissocket的路径,在这个配置文件里面修改,确认redis端口和ip.
sudo-ugit-Hvimconfig/resque.yml
-------------------------------------
development:redis://127.0.0.1:6379
test:redis://127.0.0.1:6379
production:unix:/var/run/redis/redis.sock

7.GitLab数据库配置

#仅限于MysqL:
sudo-ugitcpconfig/database.yml.MysqLconfig/database.yml

#仅限于Postgresql:
sudo-ugitcpconfig/database.yml.postgresqlconfig/database.yml

#以下修改针对MysqL,修改username/password.

sudo-ugit-Hvimconfig/database.yml
production:
adapter:MysqL2
encoding:utf8
collation:utf8_general_ci
reconnect:false
database:gitlabhq_production
pool:10
username:git
password:"gitpasswd"
#host:localhost
#socket:/tmp/MysqL.sock
socket:/var/lib/MysqL/MysqL.sock


#以下修改针对Postgresql,修改username/password.
#修改'securepassword'为你设置的密码,没单独设置则不改
production:
adapter:postgresql
encoding:unicode
database:gitlabhq_production
pool:10
#username:git
#password:#未设置不用修改
#host:localhost
#port:5432

#修改database.yml的权限,确保git用户可以读取该文件.
sudo-ugit-Hchmodo-rwxconfig/database.yml

8.Gems安装

#进入gitlab目录
cd/home/git/gitlab
--------------------------------------------------------------
gemsources--addhttps://ruby.taobao.org/--removehttps://rubygems.org/
--------------------------------------------------------------
#修改Gemfile和Gemfile.lock
vimGemfile(Gemfile.lock)
更改
sourcehttps://rubygems.org/
为:
source'https://ruby.taobao.org/'
--------------------------------------------------------------
#确保只有https://ruby.taobao.org/
gemsources-l
https://ruby.taobao.org/

ln-s/usr/local/bin/bundle/usr/bin/

####一定要注意选择自己用的数据库的命令
###Postgresql(note,theoptionsays"without...MysqL")
sudo-ugit-Hbundleinstall--deployment--withoutdevelopmenttestMysqLaws

#如果使用MysqL,执行下面的命令(note,theoptionsays"without...postgres")
sudo-ugit-Hbundleinstall--deployment--withoutdevelopmenttestpostgresaws

笔记:如果你想去用Kerberos做用户认证,然后在--without选项中省略Kerbero

9.Gitlab-shell安装

#Runtheinstallationtaskforgitlab-shell(replace`REdis_URL`ifneeded):
sudo-ugit-Hbundleexecrakegitlab:shell:install[v2.4.0]REdis_URL=unix:/var/run/redis/redis.sockRAILS_ENV=production

#默认情况下,gitlab-shell的配置是根据Gitlab的配置生产的.
#你可以运行下面的命令查看和修改gitlab-shell的配置,
#监听端口要和/home/git/gitlab/config/unicorn.rb中配置一致
sudo-ugit-Hvim/home/git/gitlab-shell/config.yml
---
user:git
gitlab_url:https://localhost:8080/#使用https
http_settings:
self_signed_cert:false#如果gitlab_url为https,修改成true
repos_path:"/home/git/repositories/"
auth_file:"/home/git/.ssh/authorized_keys"
redis:
bin:"/usr/bin/redis-cli"
namespace:resque:gitlab
socket:"/var/run/redis/redis.sock"
log_level:INFO
audit_usernames:false

10.初始化数据库,激活高级特性

cd/home/git/gitlab

sudo-ugit-Hbundleexecrakegitlab:setupRAILS_ENV=production

#输入'yes'以创建数据库表

#当看到以下内容,表示已经安装完成
Administratoraccountcreated:
login:root
password:your_passwd
==Seedfrom/home/git/gitlab/db/fixtures/production/010_settings.rb

Note:你能通过提供环境变量设置 Administrator/root 密码和邮箱,分别为GITLAB_ROOT_PASSWORD 和 GITLAB_ROOT_EMAIL,如下所示。如果你不能设置密码(它被设置为默认的) 请等待曝光gitlab到公共互联网直到安装完成和你已经登录到服务器的第一时间。 在第一次登录时,您将被迫更改默认密码。.

sudo-ugit-Hbundleexecrakegitlab:setupRAILS_ENV=productionGITLAB_ROOT_PASSWORD=yourpasswordGITLAB_ROOT_EMAIL=youremail

11.下载服务脚本

wget-O/etc/init.d/gitlabhttps://gitlab.com/gitlab-org/gitlab-recipes/raw/master/init/sysvinit/centos/gitlab-unicorn
#配置gitlab的启动级别
chmod+x/etc/init.d/gitlab
chkconfig--addgitlab
chkconfiggitlabon

设置Logrotate
cd/home/git/gitlab
sudocplib/support/logrotate/gitlab/etc/logrotate.d/gitlab

检查GitLab环境配置
sudo-ugit-Hbundleexecrakegitlab:env:infoRAILS_ENV=production
-----
production

Systeminformation
System:		CentOS6.8
CurrentUser:	git
UsingRVM:	no
RubyVersion:	2.1.5p273
GemVersion:	2.2.2
BundlerVersion:1.15.1
RakeVersion:	10.3.2
SidekiqVersion:2.17.8

GitLabinformation
Version:	7.6.2
Revision:	fatal:Notagitrepository(oranyparentuptomountpoint/home)
Stoppingatfilesystemboundary(GIT_disCOVERY_ACROSS_FILESYstemnotset).
Directory:	/home/git/gitlab
DBAdapter:	MysqL2
URL:		http://your_ip
HTTPCloneURL:	http://your_ip/some-project.git
SSHCloneURL:	git@your_ip:some-project.git
UsingLDAP:	no
UsingOmniauth:	no

GitLabShell
Version:	2.1.0
Repositories:	/home/git/repositories/
Hooks:		/home/git/gitlab-shell/hooks/
Git:		/usr/bin/git


#生成GitLab前端资源
sudo-ugit-Hbundleexecrakeassets:precompileRAILS_ENV=production
#启动gitlab服务
servicegitlabstart


12.安装Nginx服务,并下载gitlab的站点配置文件

#使用yum进行安装
yuminstall-yNginx
chkconfigNginxon
wget-O/etc/Nginx/conf.d/gitlab.confhttps://gitlab.com/gitlab-org/gitlab-ce/raw/master/lib/support/Nginx/gitlab-ssl
#将Nginx用户添加到git组
mkdir-p/etc/Nginx/ssl
cd/etc/Nginx/ssl/
opensslreq-new-x509-nodes-days3560-outgitlab.crt-keyoutgitlab.key
#启动Nginx服务
serviceNginxrestart

13.Gitlab配置SMTP邮件

#使用SMTP邮件服务器,可以不安装postfix

cd/home/git/gitlab
sudo-ugit-Hcpconfig/initializers/smtp_settings.rb.sampleconfig/initializers/smtp_settings.rb

#修改如下
sudo-ugit-Hvimconfig/initializers/smtp_settings.rb


这里提供163和腾讯企业邮箱两种配置方式,注意将下面的123456替换成自己的密码
163邮箱:
ifRails.env.production?
Gitlab::Application.config.action_mailer.delivery_method=:smtp
ActionMailer::Base.delivery_method=:smtp#使用smtp方法
ActionMailer::Base.smtp_settings={
address:"smtp.163.com",port:25,user_name:"wpgitlab",password:"123456",domain:"163.com",authentication::plain,enable_starttls_auto:true
}
end

QQ邮箱:
ifRails.env.production?
Gitlab::Application.config.action_mailer.delivery_method=:smtp
ActionMailer::Base.delivery_method=:smtp#使用smtp方法
ActionMailer::Base.smtp_settings={
address:"smtp.exmail.qq.com",user_name:"wangpeng@scnee.com",domain:"smtp.qq.com",enable_starttls_auto:true,}
end

3.修改gitlab.yml
cd/home/git/gitlab
sudo-ugit-Hvimconfig/gitlab.yml

一键安装路径:
cd
/opt/gitlab-8.5.7-0
vim
apps/gitlab/htdocs/config/gitlab.yml

将默认邮箱修改为自己的邮箱
163:
##Emailsettings
#Emailaddressusedinthe"From"fieldinmailssentbyGitLab
email_from:wpgit@163.com

腾讯企业邮箱:
##Emailsettings
#Emailaddressusedinthe"From"fieldinmailssentbyGitLab
email_from:wangpeng@scnee.com


#编辑文件
[root@gitgitlab]#sudo-ugit-Hvimconfig/environments/production.rb
config.action_mailer.delivery_method=:smtp#将方法修改成smtp方式

4.修改后。重启gitlab

#监控日志文件
tail-f/home/git/gitlab/log/*.log
tail-f/var/log/maillog


安装完成后gitlab运行异常使用如下命令检测,并解决

sudo-ugit-Hbundleexecrakegitlab:checkRAILS_ENV=production


验证结果,访问地址如下:

wKiom1l1cguCzu5wAASuN-fkXt0395.png-wh_50

用户名和密码如下

login.........root

password......5iveL!fe


备份恢复

Gitlab 创建备份

使用Gitlab一键安装包安装Gitlab非常单,同样的备份恢复与迁移也非常简单,用一条命令即可创建完整的Gitlab备份:

cd/home/git/gitlab
sudo-ugit-Hbundleexecrakegitlab:backup:createraILS_ENV=productionSTRATEGY=copy

注:跳过某些内容sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=productionSKIP=db,uploads

skip为:

db (database)
uploads (attachments)
repositories (Git repositories data)
builds (CI job output logs)
artifacts (CI job artifacts)
lfs (LFS objects)
registry (Container Registry images)
pages (Pages content)


Gitlab 修改备份文件默认目录

修改/home/git/gitlab/config/gitlab.yml来修改默认存放备份文件的目录:

sudo-ugit-Hvim/home/git/gitlab/config/gitlab.yml
----------------------
backup:
path:"/home/git/backups/"#RelativepathsarerelativetoRails.root(default:tmp/backups/)

自动备份

#CreateafullbackupoftheGitLabrepositoriesandsqldatabaseeverydayat4am
04***cd/home/git/gitlab&&PATH=/usr/local/bin:/usr/bin:/binbundleexecrakegitlab:backup:creat
#04***cd/home/git/gitlab&&sudo-ugit-Hbundleexecrakegitlab:backup:createraILS_ENV=production

恢复

首先进入备份 gitlab 的目录,这个目录是配置文件中的path,本文设置为/home/git/backups/。

然后停止 unicorn 和 sidekiq ,保证数据库没有新的连接,不会有写数据情况。

#停止相关数据连接服务
servicegitlabstop

cd/home/git/gitlab
sudo-ugit-Hbundleexecrakegitlab:backup:restoreRAILS_ENV=productioneRAILS_ENV=productionCRON=1

#如果备份目录下面有多个备份文件,则需加参数并指明时间戳
BACKUP=timestamp_of_backup(requiredifmorethanonebackupexists)
force=yes(donotaskiftheauthorized_keysfileshouldgetregenerated)

sudo-ugit-Hbundleexecrakegitlab:backup:restoreRAILS_ENV=productioneRAILS_ENV=productionCRON=1force=yesBACKUP=timestamp_of_backup
#恢复时候BACKUP=timestamp_of_backuptimestamp_of_backup表示是时间前缀默认恢复最新一次的备份

#启动Gitlab
sudogitlab-ctlstart
#恢复过程中没有权限
mkdir/home/git/backups/
chowngit/home/git/backups/
chmod700/home/git/backups/

迁移

把备份文件拷贝到gitlab的备份目录下,根据上面gitlab恢复步骤即可。

备份注意事项:

还需要备份文件:/home/git/gitlab/config/secrets.yml(两步验证时用到:用户名密码登录及短信验证)

Centos6.8安装Gitlab7.6的更多相关文章

  1. 详解前端HTML5几种存储方式的总结

    本篇文章主要介绍了前端HTML5几种存储方式的总结 ,主要包括本地存储localstorage,本地存储sessionstorage,离线缓存(application cache),Web SQL,IndexedDB。有兴趣的可以了解一下。

  2. PhoneGap / iOS上的SQLite数据库 – 超过5mb可能

    我误解了什么吗?Phonegap中的sqlitedbs真的有5mb的限制吗?我正在使用Phonegap1.2和iOS5.解决方法您可以使用带有phonegap插件的原生sqliteDB,您将没有任何限制.在iOS5.1中,Websql被认为是可以随时删除的临时数据…

  3. ios – 领域:如何获取数据库的当前大小

    是否有RealmAPI方法使用RealmSwift作为数据存储来获取我的RealmSwift应用程序的当前数据库大小?

  4. 在Xcode中安装的git中禁用osxkeychain凭证帮助程序

    解决方法如果您的问题主要关注的是安全性,并且您希望每次都输入密码,那么我会接受钥匙串以适应您的目标>进入osx钥匙串应用程序,>如果您使用的是https,请查找服务器名称>通过单击更改其设置,并在选项卡“访问控制”标记“询问钥匙串密码”下>如果需要,请从列入白名单的应用程序列表中删除git-credential-osxkeychain应用程序.请注意,在Linux上,默认行为也是自动发送凭据.

  5. ios – Realm – 无法使用现有主键值创建对象

    我有一个对象有许多狗的人.应用程序有单独的页面,它只显示狗和其他页面显示人的狗我的模型如下我有人存储在Realm中.人有详细页面,我们取,并显示他的狗.如果狗已经存在,我会更新该狗的最新信息并将其添加到人的狗列表中,否则创建新狗,保存并将其添加到人员列表中.这适用于coredata.在尝试用他的狗更新人时,领域会抛出异常无法使用现有主键值创建对象解决方法这里的问题是,即使你正在创建一个全新的Rea

  6. ios – UIWebView中的WebSQL / SQLite数据库的最大大小(phonegap)

    我知道一般来说,Web应用程序的本地存储空间有5MB的限制.本地网页浏览应用程式是否也有这个限制?

  7. macos – 运行brew命令充满了’同意Xcode / iOS许可证需要管理员权限,请通过sudo以root身份重新运行.’

    所以我跑了:如果滚动到底部,可以输入“同意”,然后就可以了.

  8. ios – Xcode Server 4.0 git从构建触发脚本推送

    我为一个托管在github上的项目安装了一个XcodeBot.我按照步骤和设置机器人来使用我现有的SSH密钥.验证成功,项目结算和建立.然后,我在预触发器操作中添加了一个shell脚本,它增加了plist中的版本,将其标记,并将该更改提交到github.但是当我尝试从shell脚本执行gitpush时,我得到:–推送到git@github.com:spex-app/spex-ios.git权限被拒

  9. xcode – 为什么Jenkins在我的Mac上运行不会连接到本地的git repo?

    我正在尝试使用Jenkins实现自动化构建,用于我的iOS项目.我添加了Git插件,但是一旦我尝试将git的URL放在项目的git配置中,它会在下面的屏幕截图中显示错误.这里Jenkins不能从repo克隆到其工作空间.解决方法在大多数情况下,gitbarerepo有扩展名.git我的意思是(其他)/test1看起来不正确,我认为应该是(其他)/test1.git在我的mac上有同样的错误.

  10. ios – Firebase离线存储高级 – 手动同步和进度信息

    >我可以提供一个捆绑数据库–安装App后我可以已经离线查询了Firebase数据?然后我有另一个关于Firebase的主要问题:>JSON存储是伟大的–但是这样我们不关心一个独特的结构,我们必须注意这一点插入总是正确的数据集?我从来没有试图显示实际的进展,但是当您从firebase中检索数据时,始终会在成功检索数据时调用onDataChange方法.https://firebase.google.com/docs/database/android/retrieve-data#read_data_onceC

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部