Jenkinsで困ってた話 (private github pods library)
Jenkinsで困ってた話
Ci-Serverで 会社のprivate Githubのライブラリーを使おうとしたが、権限の問題でできなかったので困ってた。
Jenkinsの plug-inで SSH-Agentがあってそれを使い解決しようと思ってたが、
うまく行かなかったため、shellで直接するようにしてみたら行けた。
準備物
0. jenkins & 回せるプロジェクト
1. githubのプロジェクトに接続できるrsaファイル
手順
1. $ ssh-agent
2. $ eval `ssh-agent`
3. $ ssh-add hoge.rsa
こうすることでうまく行くはずだが、
rsaファルが 0644だったため、addができてなかったので
4. chmod 0600 hoge.rsa
これをして rsaファイルのパーミッションを 0600にして、addしてみたら行けてた
SonqrQubeで Android appの ソースコードを分析して修正してみよう。
SonqrQubeで Android appの ソースコードを分析&修正
Androidのプロジェクトで Sonar Qubeを利用した話をします。
まず、前回のポスト!でインストールしてた前提でやりますが
インストールしてない人はこちらから設定をお願いします。
http://u02.hatenablog.com/entry/2016/03/03/195653
1. Login
まず http://localhost:9000/ に入って、右上のログインボタンを押し、ログインします。
defaultのアカウントは (admin/admin)で管理者としてログインができます。
2. SonarQubeへ Android Pluginを設置
Androidのlintを分析するためにはまず、pluginをインストールする必要があります。
上の administrationのボタンを押し、
その下のタップで [System] -> [Update Center] をクリックしましょう。
ここで Availableをクリックし、Androidを探して installします。
(ちなみに、日本語パックもありますね)
ボタンを押すとこうなるので sonarをリスタートしてあげましょう
`sonar restart`
3. SCM Sensor設定
SCMの設定を行いましょう
[Administration]->[SCM]
ここをTrueにします。
こうする理由は、SonarQubeは Language別に分析してくれますが、
*.java 以外の xmlとか assetの分析の結果も見たいためですね。
4. Quality Profileを作る
Quality Profilesにはいると先インストールしたため、 Android Lintが追加されていることを確認できます。
ここでやることは、
Sonar Wayの defaultが javaになっているため、
Android Lintのプロジェクトをcopyし、javaの検証も一緒に行うための設定をします。
まず [Android Lint]をクリックして、copyします(右上)
名前は [Android Lint+Sonar way]にしました。
で、作ったプロジェクトをクリックすると下に [Change Parent] というボタンがあります。
ここを押しましょう
親を sonar wayにします。
これで、lintとsonar wayを合わせたprofileを作りました。
とりあえず、これを defaultにします。
これで準備はokですね。
5. GRADLEの設定
gradleprofileに次みたいに設定を保存しときます。
systemProp.sonar.host.url=http://localhost:9000/
systemProp.sonar.login=admin
systemProp.sonar.password=admin
あとは、Gradlefileの設定を行ってみます。
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
classpath "org.sonarqube.gradle:gradle-sonarqube-plugin:1.1"
}
}
apply plugin: 'org.sonarqube'
runSonarQube {
properties {
property "sonar.sourceEncoding", "UTF-8"
property "sonar.projectKey", "davidlab:sonartest"
property "sonar.projectName", "SonarTest"
property "sonar.projectVersion", "0.1"
properties["sonar.sources"] += "src/main"
property "sonar.java.binaries", "build/intermediates/classes/debug"
property "sonar.android.lint.report", "build/outputs/lint-results.xml"
}
}
こういう感じで設定して、一応lintを使いましょう。
gradle lintでできると思います。
android studioは簡単にここでクリックすることでできます
あとは otherの sonarqubeを事項します。
これで情報がsonarqubeに載っていることが確認できます。
6.issueの修正
確認もできたし終わりっ!と。。。
しようと思ったが、実際にissueの修正をする方法を書いてみます。
ここでプロジェクトをクリックすると、issueが見えます。
5個がありますね
こんな風に情報がでます。
右の方の [>] を押してみると詳しいソースコードが見えます。
まずは 使ってない importがあるよーがでますね
あとは こんな風にでるのです。
なんにゃのーと思うのであれば [...]をクリックしてみると詳しい情報が見えます。
javaのconventionで staticが先に来るのがいいよーって言ってますね
あとは static finalだから 大文字にするのがいいのでは?とい指摘がありますね
同じく[...]を押して確認してみます。
こんな風にsoulutionが見えます。
まじいいですねー
あとは リスナーをlambda式でしてほしいというんですが、修正したくないので
resolve as won't fixをします。javaのチェックなのでこんな問題もありますね。
最後に
onClickが宣言されているが何もしてない!事を指摘しています。
そして、もう一度 lintをして、sonarに送ります。
issueを見るとこんな感じで修正されたことが確認できますね!
では、長くなりましたが、ここまでです。
またの時に!
SonarQubeを利用してみよう-設置編-
Sonar Qube Installzation.
こんにちはー
Androidで ソースのクォリティーを上げるために使ったりする sonar qubeのインストール方法を紹介しようと思います。
http://www.sonarqube.org/ ホームページはこちらです。
1. brew install sonar
`brew install sonar` sonarをインストールします
2.sonar.propertiesの設定を変更
ここのバージョンはinstallされたやつで変えてください。
~ ᐅ vim /usr/local/Cellar/sonar/5.x.x/libexec/conf/sonar.properties
ファイルの中に 変更する部分は
dbのuseridとpassword、後使うDBの部分ですが、今回はMysqlで利用してみようと思います。
11 #
12 # IMPORTANT: the embedded H2 database is used by default. It is recommended for tests but not for
13 # production use. Supported databases are MySQL, Oracle, PostgreSQL and Microsoft SQLServer.
14
15 # User credentials.
16 # Permissions to create tables, indices and triggers must be granted to JDBC user.
17 # The schema must be created first.
18 sonar.jdbc.username=sonar
19 sonar.jdbc.password=sonar
20
.....
29
30 #----- MySQL 5.x
31 # Only InnoDB storage engine is supported (not myISAM).
32 # Only the bundled driver is supported.
33 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfig s=maxPerformance
こんな感じで # を消して comment outされているやつを回るようにしてあげればいいのです。
3. mysql install
- mysqlを installします。
$brew install mysql
$mysql.server start
こうすることで使用できると思います。
4. mysqlを使う
$ mysql -uroot
mysql)CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
IDENTIFIED BY 'PASSWORD'ですが、コピペーしやすいように sonarにします。
passwordと usernameを sonarにする感じで実装します
5. sonar restart
$ sonar restart
#Starting SonarQube...
#Started SonarQube.
これでできる! sonar qubeの default urlは
http://localhost:9000/ なので接続してみましょう
あら....
何かの問題があるっぽいですね
6. sudo sonar restart
確認を一通りやってみて問題がない感じだと思って 権限かなと思い、sudoをつけてみましたー
٩( ᐛ )و
これで接続できる!
今日は ここまでやって次、ツールの使い方とアンドロイドのsampleアプリからgradleで伝送する感じでやってみるつもりです。
では、またの時に!
iOSの証明書で困った
こんにちはー
今回は なんか証明書を更新したのに、うまく行かなくて困ってましたので、stackoverflowで ぐぐってた事を述べます。
"この証明書はの発行者は無効です"
とかになってすごい困るんですけど
調べてみたらアップルのバグだったそうです。
次のサイトを見て解決できました。
1. keychain accessに入ってください。
2. 左のタップで システムをクリックしてください。
3. ここで Xボタンになっていて、証明が切れているものをけします。
4. WWDR Intermediate Certificate これをダウンロードするのです。
5. ダブルクリック!
6. 解決
僕はこんな感じで治りました。
ではここまでー
【初心者用】1. Cocos2d-x 3.3.0betaを使ってみましょう。
はい。
はじめの記事は、普通に興味あったcocos2d-xの最新でやってみます。
まずcocos2d-x についてご存知ではない方々にはこっちらのURLを参考に..
といいたいんですが、せっかくだから、簡略に説明してみると、
様々なOSで同じソースコードで動けるゲームを作るプラットフォームです!
すごいではありませんか?
まー実際に僕はandroidとiosだけ共通でやるんですがw
かなりいいものです。
Cocos2d-x: World’s #1 Open Source Game Development Platform
では、cocos2dxを開発するためには何が必要かですが、
僕はMacで開発をするため、
IDEとしてはxCodeとAndroidStudioをおすすめします。
続きを読む